【发布时间】:2019-11-24 11:09:54
【问题描述】:
我正在使用数据库中的“keyone”列来过滤条目。到目前为止,在我编写的代码中,我成功地能够使用“keyone = 2”值渲染模板。我应该在新模板文件中写什么,以及我应该如何修改现有的views.py,以便在模板文件呈现时它包含一个链接列表,每个链接对应“keyone”的每个值,当我点击链接时说"keyone = 2",选择的条目应该在 home.html 中呈现
models.py
# app/models.py
from django.db import models
from django.urls import reverse # new
class Post(models.Model):
text = models.TextField()
def __str__(self):
return self.text[:50]
keyone = models.IntegerField(default = '777')
def get_absolute_url(self): # new
return reverse('post_detail', args=[str(self.id)])
views.py
def HomePageView(request):
key2select = Post.objects.filter(keyone=2)
return render(request, 'home.html', {
'key2select': key2select,
})
home.html
<ul>
{% for post in key2select %}
<li>{{ post.keyone }}   {{ post.text }}</li>
{% endfor %}
</ul>
【问题讨论】:
标签: python django django-models django-queryset