Python Django CMS 3.1和Django 1.7.8自定义用户模型

Python Django CMS 3.1和Django 1.7.8自定义用户模型,python,django,django-cms,Python,Django,Django Cms,我将Django1.7.8与DjangoCMS3.1一起使用。我想添加我的自定义用户模型。我得到一个例外,我的自定义模型没有注册。我发现了类似的问题,但无法解决 我的项目结构: . ├── djangocms │   ├── __init__.py │   ├── __init__.pyc │   ├── settings.py │   ├── settings.pyc │   ├── static │   ├── templates │   │   ├── base.html │   │  

我将Django1.7.8与DjangoCMS3.1一起使用。我想添加我的自定义用户模型。我得到一个例外,我的自定义模型没有注册。我发现了类似的问题,但无法解决

我的项目结构:

.
├── djangocms
│   ├── __init__.py
│   ├── __init__.pyc
│   ├── settings.py
│   ├── settings.pyc
│   ├── static
│   ├── templates
│   │   ├── base.html
│   │   ├── feature.html
│   │   ├── menu.html
│   │   └── page.html
│   ├── urls.py
│   ├── wsgi.py
│   └── wsgi.pyc
├── manage.py
├── media
├── project.db
├── static
└── users
    ├── admin.py
    ├── apps.py
    ├── apps.pyc
    ├── __init__.py
    ├── __init__.pyc
    ├── migrations
    │   └── __init__.py
    ├── models.py
    ├── tests.py
    └── views.py
在settings.py中

AUTH_USER_MODEL = 'users.UserProfile'
users/models.py

class UserProfile(AbstractBaseUser, PermissionsMixin):

    email = models.EmailField('email address', max_length=255,
                          unique=True, db_index=True)
更新

我发现一些应用程序在DjangoCMS中崩溃了自定义用户模型,当我添加注释时,django注册表就会找到我的模型。我的设置:

INSTALLED_APPS = (
    'djangocms_admin_style',
    #'djangocms_text_ckeditor',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'django.contrib.messages',

    #'cms',
    'menus',
    'sekizai',
    'treebeard',
    #'djangocms_style',
    #'djangocms_column',
    #'djangocms_file',
    #'djangocms_flash',
    #'djangocms_googlemap',
    #'djangocms_inherit',
    #'djangocms_link',
    #'djangocms_picture',
    #'djangocms_teaser',
    #'djangocms_video',
    'reversion',

    'djangocms',
    'users',
)
无法将设置为您的
身份验证用户\u模型
。 基本上抽象的模型还不是具体的模型。你需要一个具体的模型。这也解释了为什么您的
Model'users.UserProfile'没有注册

而且,您的
UserProfile
有些奇怪,它应该被称为
User
MyUser
WhateverUser
。Django有一个历史原因,即
UserProfile
命名约定总是通过
OneToOneField
引用
User
模型的附加信息


在已安装的应用程序中,定义模型的应用程序必须在cms之前加载。您需要将“用户”在列表中上移到cms之前

此外,DjangoCMS希望用户模型至少包含以下字段:

  • 电子邮件
  • 密码
  • 你是活跃的吗
  • 是教职员吗
  • 是超级用户吗
此外,它应该继承自AbstractBaseUser和PermissionsMixin(或AbstractUser),并且必须定义一个字段作为USERNAME_字段(有关更多详细信息,请参阅Django文档),并定义一个get_fullname()方法


模型还必须通过django admin进行编辑,并注册管理类。

是否向已安装的应用程序设置中添加了“用户”?@HeddevanderHeide是的。@user3455448是否可以共享存储库?或者至少共享整个
设置.py
@user3455448在此之前,请验证删除
pyc
并重新启动服务器仍然没有帮助。@Yeo删除pyc sitll没有帮助。我分享我的回购协议很好,所以你更新你的问题。。。你是在问什么,还是只是想说些有趣的话?