Django2.1集成xadmin管理后台所遇到的错误集锦,解决填坑

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

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

下载并解压:

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

安装依赖库:

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

pip3 install -r requirements.txt

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

在项目的urls.py中设置

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

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

错误一:关联关系ForeignKey引发的错误,打开xadmin文件中的模型文件models.py

凡是出现关联关系字段的地方全部加上 on_delete=models.CASCADE , 如下图所示:

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

错误提示: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

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

这是因为,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‘

解决办法:

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

解决方案:

# 卸载旧版本
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‘

解决办法:

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

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

原文地址:https://www.cnblogs.com/xingfuggz/p/10142388.html

时间: 2024-08-30 01:32:51

Django2.1集成xadmin管理后台所遇到的错误集锦,解决填坑的相关文章

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

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

Django2.1集成xadmin管理后台错误解决

django2.0集成xadmin0.6报错集锦 转载https://blog.csdn.net/Vicco_Cc/article/details/81045194 1.django2.0把from django.core.urlresolvers修改成了django.urls 报错如下: 1 2 3   File "D:\Envs\django-xadmin\lib\site-packages\xadmin-0.6.1-py3.6.egg\xadmin\models.py", lin

.net制作的b2c网站集成农行支付集口碰见的错误及解决

b2c网站集成农行支付集口碰见的错误及解决 网站开发环境: ASP.NET,数据库:sqlserver 服务器:这一点也很关键:客户买的独立服务器是windows2008 64位系统 第一步:去农行,把的示例文件与接口下载起来.先使用农行提供的DEMO 有一个DLL文件需要引入的程序中. 第二步:按照要求制作所需要证书,这个在申请农行接口都会给一个电子证书下载索引.里面有,最好使用XP系统.这个不解释. 第三步:把web.config配置文件给配置了.按照要求,最关键就是:客户编号,证书位置等信

解决Python3.6.5+Django2.0集成xadmin后台点击添加或者内容详情报 list index out of range 的错误

一 问题说明在创建Model的时候,如果存在类型是DateTimeField的字段,则在xadmin后端管理界面里,对该Model进行添加操作的时候,会报list index out of range. 这是上篇文章创建的Model: class IDC(models.Model): name = models.CharField(max_length=64) contact = models.CharField(max_length=32) phone = models.CharField(m

Django2.1.2创建默认管理后台

1.在app的models.py中添加以下代码: from django.db import models # Create your models here. # Register your models here. class UserType(models.Model): name = models.CharField(max_length=32) class UserInfo(models.Model): username = models.CharField(max_length=32

【用django2.0来开发】 后台会员管理

[用django2.0来开发] 后台会员管理 项目地址:https://gitee.com/ccnv07/django_example这一篇主要是要完成django 后台的会员管理功能, 会涉及到model, ModelAdmin, admin, Form等多个方面, 所以会讲的比较细 创建会员模块 cd cms python manage.py startapp account python manage.py startapp 是创建一个模块 至于模块的定义, 每个人都有不同的看法, 有些是

Django1.9开发博客(14)- 集成Xadmin

xadmin是一个django的管理后台实现,使用了更加灵活的架构设计及Bootstrap UI框架, 目的是替换现有的admin,国人开发,有许多新的特性: 兼容 Django Admin 使用 Bootstrap 作为 UI 框架 编辑页面灵活布局 主页面仪表盘及小部件 过滤器强化 数据导出 强大的插件机制 与django的集成 本篇以simpleblog项目为例,介绍下怎样在django中集成xadmin python2.7环境切换 注意,前面的教程都是在python3.4环境下开放的.

自动化监控系统(三) 搭建xadmin做网站后台

Django有个自带的admin后台,不过界面不怎么好看,这里我用xadmin 我的python版本是3.5,可以使用支持py3的xadmin:https://github.com/sshwsfc/xadmin xadmin部署步骤: 1.把xadmin整个目录拷贝到项目里面 2.需要安装的依赖包: django~=1.9.0django-crispy-forms~=1.6.0django-reversion~=2.0.0django-formtools==1.0future==0.15.2ht

免费的Bootstrap管理后台模板集合

Free Bootstrap Admin Templates for Designers 1. Admin Lite AdminLTE - 是一个完全响应式管理模板.基于Bootstrap3的框架.高度可定制的,易于使用.支持很多的屏幕分辨率适合从小型移动设备到大型台式机. 2. Dashboard Sidebar 这是一个管理后台模板,拥有控制面板或仪表板.这个模板有一个可折叠的工具栏菜单,并且有可以作为一个数据网格的表格. 3. DevOOPS DevOOPS是一个自适应免费管理仪表板主题,