Python 显示正确的帖子
在我的网站上,用户可以添加帖子,并搜索帖子。 我还让用户可以添加单词(兴趣),并将其显示在表单下方。 单词/兴趣应该是一个链接,显示点击的兴趣帖子匹配。我希望它也能像搜索查询一样工作,这样它就可以显示所有包含该词(兴趣)的帖子。因此,例如,如果一个单词是蝙蝠侠并被点击,它应该显示所有的帖子中都有“蝙蝠侠”一词。我受搜索视图的启发,尝试复制它,但它不显示任何帖子 它的查看功能不正确 views.pyPython 显示正确的帖子,python,django,django-views,Python,Django,Django Views,在我的网站上,用户可以添加帖子,并搜索帖子。 我还让用户可以添加单词(兴趣),并将其显示在表单下方。 单词/兴趣应该是一个链接,显示点击的兴趣帖子匹配。我希望它也能像搜索查询一样工作,这样它就可以显示所有包含该词(兴趣)的帖子。因此,例如,如果一个单词是蝙蝠侠并被点击,它应该显示所有的帖子中都有“蝙蝠侠”一词。我受搜索视图的启发,尝试复制它,但它不显示任何帖子 它的查看功能不正确 views.py def interest_posts(request): interest = Inter
def interest_posts(request):
interest = Interests.objects.all()
try:
q = request.GET.get('q', 'interest')
except:
q = False
if q:
k = q.split()
if len(k) >= 2:
posts = []
for i in k:
wall = Posts.objects.filter(post__icontains=i).distinct()
for word in wall:
if word not in posts:
posts.append(word)
else:
posts = Posts.objects.filter(post__icontains=q)
return render_to_response("posts/interests.html", locals(), context_instance=RequestContext(request))
兴趣.html
{% for post in posts %}
<div class='well' id='post_div'>
<h5>{{ post }}</h5>
</div>
{% endfor %}
{%for posts in posts%}
{{post}}
{%endfor%}
我还没有测试过这一点,但我认为如果您更改:
{{post}
致:
编辑:我发现了一个阅读错误。我没有看到您已经在interests.html顶部迭代了您的帖子,当然您不需要第二次迭代。忽略额外的for循环,只需尝试将
{{post}}
更改为{{post.something}}
——抱歉造成混淆 我可能错了,但您确定要在post
上迭代吗?他已经在上面迭代了posts
,因此post
将是posts
中的一个项目。我完全错过了interests.html文件顶部的{%for post in posts%}。谢谢你指出这一点。我认为这只是告诉模板要显示post
的哪个方面,而不是将整个对象粘贴到模板中。我会相应地修改我的答案。太好了。谢谢,@souldeux。这不是问题所在。不过谢谢你。html中的方法在my search.html上运行良好。我敢肯定,这是一种观点,认为这是错误的:P
{% for p in post %}
{{ p.title }} #or p.content, p.whatever
{% endfor %}