Django2.1.7+Xadmin0.6.1集成Xadmin报错解决办法
文章目录
- Django2.1.7+Xadmin2.0.1集成Xadmin报错解决办法
- 项目配置
- 错误集锦
- 错误一:(关联关系**ForeignKey**引发的错误)
- 错误二:(ModuleNotFoundError: No module named 'django.core.urlresolvers)
- 错误三:(TypeError:__init__()takes 1 positional argument but 0 were given)
- 错误四:(ImportError: cannot import name 'login' from 'django.contrib.auth.views')
- 错误五:(ImportError: cannot import name 'QUERY_TERMS' from 'django.db.models.sql.query')
- 错误六:(ModuleNotFoundError: No module named 'django.contrib.formtools)
- 错误七:(模型类不存在,类名改写)
- 错误八:(AttributeError: 'Settings' object has no attribute 'MIDDLEWARE_CLASSES')
Django2.1.7+Xadmin2.0.1集成Xadmin报错解决办法
django默认是有一个admin的后台管理模块,功能不齐全,现成的xadmin后台,拿来即用,但django已经升级到2.x版本了,xadmin更新缓慢,针对于在集成过程中出现的问题,把相应出错的地方替换即可。
项目配置
1、**xadmin压缩包地址:**
安装
1.1虚拟环境中用pip 安装下载的压缩包(方法一)
pip install D:\xadmin-django2.zip
对xadmin做一些定制化开发,推荐把xadmin源码添加到项目中
在项目中新建一个目录extra_apps,解压先前下载的 xadmin-django2.zip,拷贝里面的xadmin整个文件夹到extra_apps中,然后直接跳转到settings.py中进行配置。
1.2、在项目中我们可能需要对xadmin做一些定制化开发,推荐把xadmin源码添加到项目中(方法二)
- 在项目中新建一个目录extra_apps,解压先前下载的 xadmin-django2.zip
- 虚拟环境进入该解压文件,执行:
python setup.py install
- 最后,拷贝里面的xadmin整个文件夹到extra_apps中,如下图:
我们用到的是xadmin文件夹,将xadmin复制到项目的extra_apps目录。
安装依赖库:
激活项目的虚拟环境,cd 到解压的 xadmin-master目录,运行一下代码
pip3 install -r requirements.txt
在项目settings.py设置文件中引入:
在项目的urls.py中设置
然后运行:python manage.py makemigrations 建立数据库迁移文件
**
错误集锦
**
错误一:(关联关系ForeignKey引发的错误)
关联关系ForeignKey引发的错误,打开xadmin文件中的模型文件models.py,
凡是出现关联关系字段的地方全部加上 on_delete=models.CASCADE , 如下图所示:
错误二:(ModuleNotFoundError: No module named 'django.core.urlresolvers)
模块包名称合并修改引发的错误**
错误提示:ModuleNotFoundError: No module named 'django.core.urlresolvers’
这是因为django2.1把from django.core.urlresolvers修改成了django.urls
将
from django.core.urlresolvers import NoReverseMatch, reverse
改为:
from django.urls import NoReverseMatch, reverse
错误三:(TypeError:init()takes 1 positional argument but 0 were given)
出现如下错误提示:
这是因为,django2.1.1的 forms表单初始化仅一个参数,将
forms.Field.__init__(self, required, widget, label, initial, help_text, *args, **kwargs)
修改为如图所示:
错误四:(ImportError: cannot import name ‘login’ from ‘django.contrib.auth.views’)
解决办法:
将 website.py 中的
from django.contrib.auth.views import login from django.contrib.auth.views import logout
修改为
from django.contrib.auth import authenticate, login, logout
错误五:(ImportError: cannot import name ‘QUERY_TERMS’ from ‘django.db.models.sql.query’)
ImportError: cannot import name 'QUERY_TERMS' from 'django.db.models.sql.query'
解决办法:
django2.1.1版本将xadmin\plugins\filters.py文件中的
from django.db.models.sql.query import LOOKUP_SEP, QUERY_TERMS
修改为
from django.db.models.sql.query import LOOKUP_SEP, Query
在Django2.0版本中把
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
错误六:(ModuleNotFoundError: No module named 'django.contrib.formtools)
ModuleNotFoundError: No module named ‘django.contrib.formtools’ 导入fromtools错误,版本太低
解决方案:
# 卸载旧版本 pip uninstall django-formtools # 安装新版本 pip install django-formtools
错误七:(模型类不存在,类名改写)
解决方案:
把xadmin\plugins\password.py中的
from django.contrib.auth.views import password_reset_confirm
修改为:
from django.contrib.auth.views import PasswordResetConfirmView
再把位于75行左右 return后的 password_reset_confirm修改为 PasswordResetConfirmView,如下图所示
错误八:(AttributeError: ‘Settings’ object has no attribute ‘MIDDLEWARE_CLASSES’)
AttributeError: ‘Settings’ object has no attribute ‘MIDDLEWARE_CLASSES’
解决办法:
将xadmin\plugins\language.py 中的
if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE_CLASSES:
修改为:
if settings.LANGUAGES and 'django.middleware.locale.LocaleMiddleware' in settings.MIDDLEWARE:
最后运行:
python manage.py makemigrations #创建迁移数据文件
再运行:
python manage.py migrate #迁移数据库
如果在以上过程中出现类似错误,请依照错误相应修改,错误提示的先后顺序或许不一样,但是请仔细阅读错误提示代码。
- 点赞
- 收藏
- 分享
- 文章举报
- django使用xadmin出现EmailVerifyRecord对象解决办法(django学习14)
- django2源码安装xadmin过程中遇到模块缺少,如No module named 'crispy_forms'等问题解决办法
- 64位Windows7环境下,Eclipse集成svn后出现Failed to load JavaHL Library的解决办法
- tornado django flask 跨域解决办法(cors)
- dajngo xadmin 搜索栏输入 中文 进行搜索时报错# Illegal mix of collations for operation 'like'的解决办法
- django(python manage.py imgrate)同步数据库出错后的解决办法
- 集成CEF的坑和解决办法
- ssh集成过程中针对Servlet action is not available的解决办法
- 解决django-xadmin列表页filter关联对象搜索问题
- 集成支付宝SDK时错误的解决办法
- Django Admin 录入中文错误解决办法
- Django添加方法__unicode__()无效 的解决办法
- django-admin.py在win7 64位下不能创建工程、项目和执行命令的解决办法
- win10系统下,python3.7版本,virtualenv环境下,Django2.17项目css样式缺失 返回200 解决办法
- Django 集成Xadmin
- quartz和spring集成的错误以及解决办法
- 安装django-cms报错,ImproperlyConfigured: LANGUAGE_CODE "en-us" must have a matching entry in LANGUAG解决办法
- 安装了Django后,执行django-admin.py无法创建工程的解决办法
- Eclipse集成开发环境如何与android手机连接的一个解决办法
- 关于集成友盟推送第一次进入应用DeviceToken为空的解决办法。