Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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_Django Users - Fatal编程技术网

Python Django:模板不';看不到自定义用户字段

Python Django:模板不';看不到自定义用户字段,python,django,django-users,Python,Django,Django Users,我在Django 1.6中有一个自定义的用户模型: from django.contrib.auth import models as usermodels class User(usermodels.User): sid = models.CharField(max_length=20, unique=True) slug = models.SlugField(default="slug") objects = usermodels.UserManager() 在

我在Django 1.6中有一个自定义的
用户
模型:

from django.contrib.auth import models as usermodels

class User(usermodels.User):
    sid = models.CharField(max_length=20, unique=True)
    slug = models.SlugField(default="slug")

    objects = usermodels.UserManager()
在我的一个模板中,我有以下内容:

Welcome, {{ user.username }}: {{ user.sid }}
如果用户经过身份验证,则显示为“Chris:”如果用户名是Chris。自定义字段
sid
不显示!我检查了我的表,用户确实存储了一个
sid
。模板似乎没有得到我的自定义字段


我已将我的自定义模型作为
custom\u USER\u model
添加到我的设置中。

您应该使用
AUTH\u USER\u model
settings.py
中指定的
AUTH\u USER\u model
设置自定义用户模型,而不是从AUTH.USER继承。这样做并不是您的实际问题,但在获取数据时会引入不必要的db调用。您是指
AbstractBaseUser
还是
AbstractUser
?我在django.auth.models中的任何地方都找不到BaseUser。我扩展了
AbstractUser
而不是
User
,并在我的设置中设置了
auth\u User\u MODEL
而不是
CUSTOM\u User\u MODEL
。成功了!这会产生一个错误:
myapp.user:“user\u ptr”定义了与模型“auth.user”的关系,该模型已被调出。更新关系以指向settings.AUTH_USER_MODEL。
我已经查找了一些,但找不到解决方案。我使用django.contrib.AUTH.get_USER_MODEL()引用用户模型,但在外键中使用文档中指定的settings.AUTH_USER_MODEL除外。我不完全确定错误来自何处,但是,可以尝试按中所述对AbstractUser进行子分类。这似乎更适合您的用例。这两件事一起解决了这个问题。非常感谢。