Python Django:如何显示帖子查询的作者?
我试图为每个作者制作单独的页面,显示他们的姓名和帖子。我似乎无法显示用户名 views.pyPython Django:如何显示帖子查询的作者?,python,django,Python,Django,我试图为每个作者制作单独的页面,显示他们的姓名和帖子。我似乎无法显示用户名 views.py class UserProfileView(generic.ListView): template_name = 'howl/user-profile.html' context_object_name = 'user_howls' def get_queryset(self): author = self.request.user u = Us
class UserProfileView(generic.ListView):
template_name = 'howl/user-profile.html'
context_object_name = 'user_howls'
def get_queryset(self):
author = self.request.user
u = User.objects.get(username=author)
return Howl.objects.filter(author=u)
models.py
class Howl(models.Model):
author = models.ForeignKey(User, null=True)
content = models.CharField(max_length=150)
这就是我被困的地方
user-profile.html
{% extends 'howl/base.html' %}
{% block content %}
<h1>User: {{user_howl.author}}</h1>
{% for user_howl in user_howls %}
<ul>
<li>{{user_howl.content}}</li>
</ul>
{% endfor %}
{% endblock %}
{%extends'howl/base.html%}
{%block content%}
用户:{{User_howl.author}}
{user_howls%}中的用户_howl为%
- {{user_howl.content}
{%endfor%}
{%endblock%}
内容显示得很好,但标题只是说“User:”,如何在不使用for循环的情况下为其提供上下文?
我试过:
{% for author in user_howls.author %}
<h1>User: {{author}}</h1>
{% endfor %}
{user_howls.author%}中的作者为%
用户:{{作者}
{%endfor%}
及
{%if user\u howls.author%}
用户:{{User_howl.author}}
{%endif%}
仍然是相同的结果,显示“User:
User\u howls
是一个查询集,因此它没有author
属性,您需要获取迭代对象的作者
{% for howl in user_howls %}
<h1>User: {{ howl.author}}</h1>
{% endfor %}
user\u howls
是一个查询集,因此它没有author
属性,您需要获取迭代对象的作者
{% for howl in user_howls %}
<h1>User: {{ howl.author}}</h1>
{% endfor %}
由于您的查询集基于属于当前用户的帖子,因此您可以将所有这些内容设置为快捷方式,并直接向用户显示:
User: {{ user }}
由于您的查询集基于属于当前用户的帖子,因此您可以将所有这些内容设置为快捷方式,并直接向用户显示:
User: {{ user }}
user\u howl
vsuser\u howls
?user\u howl
vsuser\u howls
?谢谢。如何只声明一次作者?如果不是ListView,我会使用什么样的视图?@user298519-如果您希望显示用户的详细信息,那么DetailView
可能是开始您研究的好地方,ListView
用于显示对象列表。谢谢。如何只声明一次作者?如果不是ListView,我会使用什么样的视图?@user298519-如果您希望显示用户的详细信息,那么DetailView
可能是开始研究的好地方,ListView用于显示对象列表。