Django CMS 3.1.3、Python 3.4 和 Django 1.8 自定义用户

Django CMS 3.1.3, Python 3.4 and Django 1.8 CustomUser

我找到了类似的 post,但 none 的答案对我有帮助。我在尝试 运行 makemigrations 或 migrate 时收到 "LookupError: Model 'email_user.EmailUser' not registered."。任何帮助或建议将不胜感激。

项目结构

ProjectRoot/
 - email_user/
    --  __init__.py
    -- admin.py
    -- models.py 
 - djangocms/
    -- static/
    -- templates/
    -- __init__.py
    -- urls.py
 - manage.py
 - settings.py
 - wsgi.py

settings.py

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',
    'email_user',
    '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',
) 

AUTH_USER_MODEL = "email_user.EmailUser"

email_user/admin.py

from django.contrib import admin
from email_user.models import EmailUser

admin.site.register(EmailUser)

email_user/models.py

class EmailUser(AbstractBaseUser, PermissionsMixin):
    email = models.EmailField('email address', max_length=255, unique=True)

    USERNAME_FIELD = 'email'
    REQUIRED_FIELDS = []

    def get_short_name(self):
        return self.email

    def get_full_name(self):
        return self.email

呃,

经过数小时的深入挖掘,我找到了问题所在。 Django CMS 安装程序会自动为您和 INSTALLED_APPS 区域设置 settings.py 文件。

因此,由于某些原因,某些依赖项未正确设置,并且遵循文档将导致您在 table.

上花费数小时的时间。

已安装的应用应如下所示:

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'djangocms_admin_style',  # MOVED THIS HERE
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.sitemaps',
    'django.contrib.staticfiles',
    'django.contrib.messages',
    'email_user',
    'djangocms_text_ckeditor', # MOVED THIS HERE
    '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',
    'securepal',
)

希望这可以避免有人不得不追踪它