我使用数据库中的“keyone”列来过滤条目。到目前为止,在我编写的代码中,我成功地用“keyone=2”值呈现模板。我应该在一个新的模板文件中写什么,我应该如何修改现有的模板文件视图.py因此,当模板文件呈现时,它包含一个链接列表,每个链接对应“keyone”的每个值,当我点击链接说“keyone=2”时,所选条目应该呈现在主页.html你知道吗
你知道吗型号.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)])
你知道吗视图.py你知道吗
def HomePageView(request):
key2select = Post.objects.filter(keyone=2)
return render(request, 'home.html', {
'key2select': key2select,
})
你知道吗主页.html你知道吗
<ul>
{% for post in key2select %}
<li>{{ post.keyone }}   {{ post.text }}</li>
{% endfor %}
</ul>
首先,我们需要获得数据库中的所有keyone值,以便传递给主页.html. 然后在主页.html,我们需要一个导航栏或其他地方来放置所有这些链接,这些链接代表所有的keyone值。你知道吗
所以代码是这样的:
你知道吗型号.py你知道吗
你知道吗视图.py你知道吗
您可以检查Django Docs中的distinct()以获得DB中某列的distinct值
你知道吗主页.html你知道吗
当我们在nav链接中传递url的键时,我们需要更改url模式来捕捉这个。你知道吗
你知道吗网址.py你知道吗
感谢@sheng zhang提供解决方案。为了我的利益,这里是经过一些轻微修改的工作代码。你知道吗
我创建了一个新模板选择.html逻辑是这样的-
你知道吗视图.py你知道吗
你知道吗索引.html你知道吗
你知道吗选择.html你知道吗
你知道吗主页.html你知道吗
你知道吗网址.py你知道吗
可能是我不明白你的问题,如果你正在寻找创建一个链接代码列表应该
这将包含与列表项的每个帖子链接
相关问题 更多 >
编程相关推荐