Python 显示正确的帖子

Python 显示正确的帖子,python,django,django-views,Python,Django,Django Views,在我的网站上,用户可以添加帖子,并搜索帖子。 我还让用户可以添加单词(兴趣),并将其显示在表单下方。 单词/兴趣应该是一个链接,显示点击的兴趣帖子匹配。我希望它也能像搜索查询一样工作,这样它就可以显示所有包含该词(兴趣)的帖子。因此,例如,如果一个单词是蝙蝠侠并被点击,它应该显示所有的帖子中都有“蝙蝠侠”一词。我受搜索视图的启发,尝试复制它,但它不显示任何帖子 它的查看功能不正确 views.py def interest_posts(request): interest = Inter

在我的网站上,用户可以添加帖子,并搜索帖子。 我还让用户可以添加单词(兴趣),并将其显示在表单下方。 单词/兴趣应该是一个链接,显示点击的兴趣帖子匹配。我希望它也能像搜索查询一样工作,这样它就可以显示所有包含该词(兴趣)的帖子。因此,例如,如果一个单词是蝙蝠侠并被点击,它应该显示所有的帖子中都有“蝙蝠侠”一词。我受搜索视图的启发,尝试复制它,但它不显示任何帖子

它的查看功能不正确

views.py

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 %}