Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django:如何显示帖子查询的作者?_Python_Django - Fatal编程技术网

Python Django:如何显示帖子查询的作者?

Python 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

我试图为每个作者制作单独的页面,显示他们的姓名和帖子。我似乎无法显示用户名

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 = 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
vs
user\u howls
user\u howl
vs
user\u howls
?谢谢。如何只声明一次作者?如果不是ListView,我会使用什么样的视图?@user298519-如果您希望显示用户的详细信息,那么
DetailView
可能是开始您研究的好地方,
ListView
用于显示对象列表。谢谢。如何只声明一次作者?如果不是ListView,我会使用什么样的视图?@user298519-如果您希望显示用户的详细信息,那么
DetailView
可能是开始研究的好地方,ListView用于显示对象列表。