django-要从用户发布的基于类的视图

django-要从用户发布的基于类的视图,django,django-models,django-views,django-templates,Django,Django Models,Django Views,Django Templates,我正在创建一个用户日志博客。我希望从登录名生成作者名,但它显示的是管理员用户名 这是我的模特 我使用了基于类的视图来创建帖子 这是我的观点 我正在以request.user.username访问html中的作者姓名 articledetail.html 因为您的代码中有两个错误: 第一个:“模型中author字段的默认值为1” 这不是一个真正的错误,但在这里没有意义,如果输入了任何值,我们使用它来输入默认值 第二个错误是您必须告诉Django我们必须在author字段中输入的内容。要做

我正在创建一个用户日志博客。我希望从登录名生成作者名,但它显示的是管理员用户名 这是我的模特

我使用了基于类的视图来创建帖子 这是我的观点

我正在以request.user.username访问html中的作者姓名 articledetail.html
因为您的代码中有两个错误:

  • 第一个:“模型中author字段的默认值为1”
这不是一个真正的错误,但在这里没有意义,如果输入了任何值,我们使用它来输入默认值

  • 第二个错误是您必须告诉Django我们必须在author字段中输入的内容。要做到这一点,您只需要从请求中获取用户,并在保存之前将其提供给创建的实例。这可以在form_valid()中完成,因此只需取消注释您已经完成的函数form_valid()

要访问html/jinja2模板中的当前用户名,必须使用
{{user.username}
而不是
{{request.user.username}

但在您的情况下,要访问发布文章的作者用户名,您必须使用
{{post.author.username}}

{{ post.author.first_name }} #gets author's firstname

我收到一个错误“WSGIRequest”对象没有属性“User”。我是否需要更改设置。否原因是user:change user to user:self.request.user中的大写字母“U”