Python 为什么我不能访问Django用户“;“地位”;
我无法显示我的自定义对象“状态”。我可以填写它,并看到它在我的管理。但是当我尝试用HTML获取它时,它不起作用。但是,它确实显示用户名、姓氏等 这是我的model.py(在帐户中): model.py(在POST中) html代码: 注意:Python 为什么我不能访问Django用户“;“地位”;,python,html,django,Python,Html,Django,我无法显示我的自定义对象“状态”。我可以填写它,并看到它在我的管理。但是当我尝试用HTML获取它时,它不起作用。但是,它确实显示用户名、姓氏等 这是我的model.py(在帐户中): model.py(在POST中) html代码: 注意:{{post_user.username}}正确无误 {% block prepost %} <h1>{{post_user.username}}'s Memes</h1> {%if user.is_authentica
{{post_user.username}}
正确无误
{% block prepost %}
<h1>{{post_user.username}}'s Memes</h1>
{%if user.is_authenticated %}
<a href="{%url 'settings'%}"><p>Einstellungen<p/></a>
{% endif %}
{{ post_user.status }}
{% endblock %}
它应该显示:
PeterPan2's Memes
Einstellungen
Some Status
通过继承django的内置
User
模型,您已经创建了一个新模型UserZ
。但是,您尚未将模型定义为AUTH\u USER\u model
。
AUTH\u USER\u MODEL
可能仍然是django.contrib.AUTH.models.USER
您可能需要将
settings.py
中的默认AUTH\u USER\u MODEL
选项更改为自定义用户模型。然后,您可以访问User
对象中的status
字段,如request.User.status
。但是,除非您尚未将模型定义为AUTH\u USER\u model
,否则无法从request.USER
对象访问状态
字段。您通过继承django的内置USER
模型创建了一个新模型UserZ
。但是,您尚未将模型定义为AUTH\u USER\u model
。
AUTH\u USER\u MODEL
可能仍然是django.contrib.AUTH.models.USER
您可能需要将
settings.py
中的默认AUTH\u USER\u MODEL
选项更改为自定义用户模型。然后,您可以访问User
对象中的status
字段,如request.User.status
。但是,除非您尚未将模型定义为AUTH\u USER\u model
,否则您无法从request.USER
对象访问status
字段。,因为您的外键是USER,而不是UserZ
您不应该像这样扩展用户模型。UserZ应该是AbstractUser的子类,而不是具体的User类。您还应该将AUTH_USER_MODEL设置设置为应用程序和模型名称-例如“MyApp.UserZ”-并且Post中的外键应该指向该设置,而不是类。因为外键指向的是用户,而不是UserZ
您不应该像这样扩展用户模型。UserZ应该是AbstractUser的子类,而不是具体的User类。您还应该将AUTH_USER_MODEL设置设置为应用程序和模型名称-例如“MyApp.UserZ”-并且Post中的外键应该指向该设置,而不是类。我猜您应该将
Post MODEL
对象从views.py
作为Post_USER
键发送。
由于Post模型包含User
模型AsForeignKey
,因此{{Post\u User.username}
是正确的
{% block prepost %}
<h1>{{post_user.username}}'s Memes</h1>
{%if user.is_authenticated %}
<a href="{%url 'settings'%}"><p>Einstellungen<p/></a>
{% endif %}
{{ post_user.status }}
{% endblock %}
但是post model与UserZ没有连接,因此它无法工作。我猜您可以从
视图中发送post model
对象。py
作为post\u用户
键。
由于Post模型包含User
模型AsForeignKey
,因此{{Post\u User.username}
是正确的
{% block prepost %}
<h1>{{post_user.username}}'s Memes</h1>
{%if user.is_authenticated %}
<a href="{%url 'settings'%}"><p>Einstellungen<p/></a>
{% endif %}
{{ post_user.status }}
{% endblock %}
但是post模型与UserZ没有连接,因此它无法工作。您的外键与
用户
模型相关。因此,.username
将起作用。一件事是将外键设置为UserZ
或do
{{ post_user.userz.status }}
您的外键与
用户
型号相关。因此,.username
将起作用。一件事是将外键设置为UserZ
或do
{{ post_user.userz.status }}
您是否尝试在控制台中读取状态?在html中,它显示一个空的。Ok,但我询问控制台。是否确实为用户对象设置了状态?您有blank=True,所以它可能只是空的。请添加视图代码提供视图。py您是否尝试在console中读取状态可能?在html中,它显示一个空的…Ok,但我询问有关console的信息。是否确实为用户对象设置了状态?您有blank=True,因此可能只是空白。请添加视图代码提供视图。py