Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)


Posted in Python onDecember 20, 2018

django默认是有一个admin的后台管理模块,但是丑,功能也不齐全,但是大神给我们已经集成好了xadmin后台,我们拿来用即可,但是呢,django已经升级到2.1版本了,xadmin貌似跟不上节奏,那么在集成过程中咱就一步一步填坑吧,这也是一种学习的过程,遇到错误,找到错误的地方,看看django最新升级都修改了那些,去掉了那些,把相应出错的地方替换即可。

xadmin源码地址:https://github.com/sshwsfc/xadmin

下载并解压:

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

我们用到的是xadmin文件夹,将xadmin复制到项目的根目录,与项目同级别。

安装依赖库:

激活项目的虚拟环境,cd 到解压的 xadmin-master目录,运行一下代码

pip3 install -r requirements.txt

在项目settings.py设置文件中引入:

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

在项目的urls.py中设置

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

然后运行:python manage.py makemigrations 建立数据库迁移文件

这个时候就会引出一系列的错误提示

错误一:关联关系ForeignKey引发的错误,打开xadmin文件中的模型文件models.py,凡是出现关联关系字段的地方全部加上 on_delete=models.CASCADE , 如下图所示:

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

错误二:模块包名称合并修改引发的错误

错误提示:ModuleNotFoundError: No module named 'django.core.urlresolvers'

这是因为django2.1把from django.core.urlresolvers修改成了django.urls

那么如图所示将fromdjango.core.urlresolversimportNoReverseMatch,reverse

修改为:from django.urls import NoReverseMatch, reverse

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

错误三:出现如下错误提示

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

这是因为,django2.1.1的 forms表单初始化仅一个参数,将forms.Field.__init__(self, required, widget, label, initial, help_text, *args, **kwargs) 修改为如图所示:

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

错误四:ImportError: cannot import name 'login' from 'django.contrib.auth.views'

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

解决办法:

# 将 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'

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

解决办法:

# 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' 导入fromtools错误,版本太低

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

解决方案:

# 卸载旧版本
pip uninstall django-formtools

# 安装新版本
pip install django-formtools

错误七:

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

解决方案:

# 把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,如下图所示

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

错误八:AttributeError: 'Settings' object has no attribute 'MIDDLEWARE_CLASSES'

Django2.1集成xadmin管理后台所遇到的错误集锦(填坑)

解决办法:

# 将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 迁移数据库

如果在以上过程中出现类似错误,请依照错误相应修改,错误提示的先后顺序或许不一样,但是请仔细阅读错误提示代码。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python函数嵌套实例
Sep 23 Python
python使用PyGame模块播放声音的方法
May 20 Python
Python获取某一天是星期几的方法示例
Jan 17 Python
python基于pyDes库实现des加密的方法
Apr 29 Python
Python实现查看系统启动项功能示例
May 10 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
Pandas之Dropna滤除缺失数据的实现方法
Jun 25 Python
ZABBIX3.2使用python脚本实现监控报表的方法
Jul 02 Python
python 获取等间隔的数组实例
Jul 04 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
Django model class Meta原理解析
Nov 14 Python
Pygame Rect区域位置的使用(图文)
Nov 17 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 #Python
Python给定一个句子倒序输出单词以及字母的方法
Dec 20 #Python
python 读取竖线分隔符的文本方法
Dec 20 #Python
python读取txt文件,去掉空格计算每行长度的方法
Dec 20 #Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 #Python
Python 判断奇数偶数的方法
Dec 20 #Python
5分钟 Pipenv 上手指南
Dec 20 #Python
You might like
PHP获取youku视频真实flv文件地址的方法
2014/12/23 PHP
8个必备的PHP功能开发
2015/10/02 PHP
PHP简单获取网站百度搜索和搜狗搜索收录量的方法
2016/08/23 PHP
JS中confirm,alert,prompt函数使用区别分析
2010/04/01 Javascript
jQuery 对Select的操作备忘记录
2011/07/04 Javascript
Dom 学习总结以及实例的使用介绍
2013/04/24 Javascript
输入自动提示搜索提示功能的javascript:sugggestion.js
2013/09/02 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JavaScript简单实现鼠标移动切换图片的方法
2016/02/23 Javascript
全面解析JavaScript的Backbone.js框架中的Router路由
2016/05/05 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
JS实现拼图游戏
2021/01/29 Javascript
代码块高亮可复制显示js插件highlight.js+clipboard.js整合
2021/02/15 Javascript
python创建临时文件夹的方法
2015/07/06 Python
Python3 模块、包调用&路径详解
2017/10/25 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
深入浅析Python中的yield关键字
2018/01/24 Python
python 列表降维的实例讲解
2018/06/28 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
基于Python实现船舶的MMSI的获取(推荐)
2019/10/21 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
CSS3制作彩色进度条样式的代码示例分享
2016/06/23 HTML / CSS
使用CSS3的box-sizing属性解决div宽高被内边距撑开的问题
2016/06/28 HTML / CSS
html5简单示例_动力节点Java学院整理
2017/07/07 HTML / CSS
朗仕(Lab series)英国官网:雅诗兰黛集团男士专属护肤品牌
2017/11/28 全球购物
八皇后问题,输出了所有情况,不过有些结果只是旋转了90度
2016/08/15 面试题
Ejb技术面试题
2015/04/29 面试题
党员志愿者活动总结
2014/06/26 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书
给老师的感谢信
2015/01/20 职场文书
工程竣工验收申请报告
2015/05/15 职场文书
消防宣传语大全
2015/07/13 职场文书
2016教师校本培训心得体会
2016/01/08 职场文书
2016大学生社会实践心得体会范文
2016/01/14 职场文书