在django中请求另一个用户对象

时间:2014-12-24 22:50:56

标签: django django-templates django-views

我目前面临一个挑战,当用户通过身份验证时,他们可以看到他们关注的其他用户发布的对象。这里的挑战是我希望经过身份验证的用户点击跟随他们的用户的名称,然后它会自动转到包含他们点击的用户的所有帖子的页面。到目前为止,我的代码只是通过经过身份验证的用户向我显示帖子。

#Views.py 

def article(request):

    return render(request, 'article.html', 
                  {'posts': post.objects.filter(user = request.user),'form' : CommentForm()})


#article.html
{% for post in posts %}

    <div class = "username">
    <font size="4.5">{{post.user}}</font>
    </div>

    <div class = "postbody">
    <p>{{ post.body|lower|truncatewords:50 }}</p>
    <p>{{post.likes}} people liked this article</a></p>
    </div>

    <p><a href="/posts/like/{{post.id}}" class="btn btn-default" role="button">likes {{post.likes}} </a></p>

{% endfor %}
{% endif %}

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

更改此行

post.objects.filter(user = request.user)

过滤其他一些用户对象

post.objects.filter(user__pk=user_id)

要获得更完整的解决方案,您的urls.py应如下所示

url(r'^article/(?P<user_id>)/$', views.article),

views.py中,接受user_id作为新参数

def article(request, user_id):
    return render(request, 'article.html', 
              {'posts': post.objects.filter(user__pk=user_id),'form' : CommentForm()})