针对django 2.0 xadmin 错误集锦
1.ModuleNotFoundError: No module named 'django.core.urlresolvers'
解决方法:
将
from django.core.urlresolvers import NoReverseMatch, reverse
改成
from django.urls import NoReverseMatch, reverse
2.TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决方法:
将
user = models.ForeignKey(AUTH_USER_MODEL, verbose_name=_(u"user"))
改成
user = models.ForeignKey(AUTH_USER_MODEL, verbose_name=_(u"user"), on_delete=models.CASCADE)
即在外键值的后面加上 on_delete=models.CASCADE
3.TypeError: __init__() takes 1 positional argument but 6 were given
解决方法:
将forms.
Field.__init__(self, required, widget, label, initial, help_text, *args, **kwargs)
改成
forms.Field.__init__(self,*args, **kwargs)
4.ImportError: cannot import name 'login'
解决办法:
将
from django.cantrib.auth.view import login
改成
from django.cantrib.auth login
5.ImportError: cannot import name 'logout'
解决办法
将:
from django.cantrib.auth.view import logout
改成
from django.cantrib.auth import logout
6.ImportError: cannot import name 'QUERY_TERMS'
解决方法:
将
from django.db.models.sql.query import LOOKUP_SEP, QUERY_TERMS
改成
from django.db.models.sql.query import LOOKUP_SEP
from django.db.models.sql.constants import QUERY_TERMS 或者 from django.db.models.sql.query import LOOKUP_SEP, QUERY_TERMS
7.ImportError: cannot import name 'password_reset_confirm'
解决办法
将:
from django.contrib.auth import password_reset_confirm
改成
from django.contrib.auth.views import PasswordResetConfirmView
8.AttributeError: 'Settings' object has no attribute 'MIDDLEWARE_CLASSES'
解决办法
将:
# if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE_CLASSES:
改成:
if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE: