这就是为我们和这些人解决的问题:
我们的项目从Django 1.4开始,然后转到1.5,然后到1.7。我们的wsgi.py看起来像这样:
import os
from django.core.handlers.wsgi import WSGIHandler
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = WSGIHandler()
当我更新到1.7样式的WSGI处理程序时:
import os
from django.core.wsgi import get_wsgi_application
os.environ['DJANGO_SETTINGS_MODULE'] = 'myapp.settings'
application = get_wsgi_application()
现在一切正常。
问题出在你的注册应用中。django-registration似乎get_user_module()
是models.py
在模块级别调用的(当应用程序注册过程仍在加载模型时)。这将不再起作用:
try:
from django.contrib.auth import get_user_model
User = get_user_model()
except ImportError:
from django.contrib.auth.models import User
我将更改此模型文件以仅get_user_model()
在方法内部调用(而不是在模块级别),并且在FK中使用类似以下内容的方法:
user = ForeignKey(settings.AUTH_USER_MODEL)
顺便说一句,django.setup()
你的manage.py
文件中不需要调用,而是在中为你调用execute_from_command_line
。
运行以下命令解决了我的问题:
import django
django.setup()
但是我不确定为什么需要这个。评论将不胜感激。