Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.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_Html_Django - Fatal编程技术网

Python 为什么我不能访问Django用户“;“地位”;

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

我无法显示我的自定义对象“状态”。我可以填写它,并看到它在我的管理。但是当我尝试用HTML获取它时,它不起作用。但是,它确实显示用户名、姓氏等

这是我的model.py(在帐户中):

model.py(在POST中)

html代码:

注意:
{{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
模型As
ForeignKey
,因此
{{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
模型As
ForeignKey
,因此
{{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