一、下载源代码,并安装源码到django项目

源代码官网:https://github.com/sshwsfc/xadmin/tree/django2

1、安装依赖
将源代码下载到本地,并进入到源代码目录,执行 pip install -r requirements.txt
备注:一般主要是django-crispy-forms django-formtools httplib2 django-reversion django-import-export future six依赖包

2、在django的根项目路径下,创建 extra_app 包,并把源码包里面的 xadmin 目录放进去

## ① settings.py 配置
如果采用源码放在django下的 extra_apps 文件内的方式:则需将 extra_apps 文件加入到项目环境变量中去,并把extra_apps包设置为源码文件夹
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_app'))## ②注册相关app, 找到INSTALLED_APPS,追加配置如下
INSTALLED_APPS = [......    'xadmin','crispy_forms','reversion',]## ③设置语言和时间格式
LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = True
DATETIME_FORMAT = 'Y-m-d H:i:s'
DATE_FORMAT = 'Y-m-d'## ④将 extra_apps 包 安装到源码根目录
在 pycharm 中 extra_apps 上右击 --> Mark Directory as -->  Source Root## ⑤修改路由映射 url.py
import xadminurlpatterns = [path('xadmin/', xadmin.site.urls),
]

备注:pip直接安装xadmin插件 pip install django-xadmin


二、问题总结

1、No module named 'MySQLdb’

在项目的 __init__.py 文件中增加
import pymysql
pymysql.install_as_MySQLdb()

2、模块包名称合并修改引发的错误

错误提示:ModuleNotFoundError: No module named 'django.core.urlresolvers'
原因:django2.1把from django.core.urlresolvers修改成了django.urls
解决:from django.core.urlresolvers import NoReverseMatch, reverse

3、关联关系ForeignKey引发的错误

错误类型:TypeError: __init__() missing 1 required positional argument: 'on_delete'
原因:在django2.1 以上版本中,凡是出现关联关系字段的地方全部加上 on_delete=models.CASCADE
解决方法:on_delete=models.CASCADE

4、参数缺失

错误类型:TypeError: __init__() takes 1 positional argument but 6 were givendjango2.1.1的 forms表单初始化仅一个参数,
将 forms.Field.__init__(self, required, widget, label, initial, help_text, *args, **kwargs)
修改为 forms.Field.__init__(self)

5、ImportError: cannot import name ‘login’ from 'django.contrib.auth.views’

from django.contrib.auth.views import login
from django.contrib.auth.views import logout# 修改为
from django.contrib.auth import authenticate, login, logout

6、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

7、ImportError: cannot import name ‘password_reset_confirm’ from 'django.contrib.auth.views’

# 把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

8、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:

9、ModuleNotFoundError: No module named ‘django.contrib.formtools’ 导入fromtools

# 卸载旧版本
pip uninstall django-formtools# 安装新版本
pip install django-formtools

最后运行:python manage.py makemigrations 创建迁移数据文件
再运行:python manage.py migrate 迁移数据库

django集成 xadmin 踩的坑相关推荐

  1. django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation

    django 中model踩的坑之AttributeError: type object ** has no attribute 'objects'及Field defines a relation ...

  2. django安装xadmin及问题处理

    文章目录 一,安装 二,注册 xadmin: 三,配置 URL: 四,数据迁移并创建超级用户 五,收集media 六,运行项目,解决错误 1,ImportError: cannot import na ...

  3. Spring Boot集成Redis,这个坑把我害惨了!

    最近项目中使用SpringBoot集成Redis,踩到了一个坑:从Redis中获取数据为null,但实际上Redis中是存在对应的数据的.是什么原因导致此坑的呢? 本文就带大家从SpringBoot集 ...

  4. 芝麻信用网页api php,谈谈php对接芝麻信用踩的坑

    谈谈php对接芝麻信用踩的坑 这里有新鲜出炉的PHP面向对象编程,程序狗速度看过来! PHP开源脚本语言 PHP(外文名: Hypertext Preprocessor,中文名:"超文本预处 ...

  5. 大话 AliPay踩的坑

    大话 AliPay踩的坑 传送门->大话微信支付踩的坑 做三方集成的时候按照官方的步骤进行集成基本不会出现太多问题.最近在做App集成支付,主要就是微信支付.支付宝.在集成支付宝支付的时候还是遇 ...

  6. 2021年Java面试题目最新总结【90%面试会踩的坑】

    学会java技术之后大家面临的最多的问题就是面试这关,求职面试java岗位是否能够成功是直接影响我们的工作机会的,所以对于Java程序员面试你准备好了吗?今天小编汇总了一下关于Java程序员面试,90 ...

  7. 程序员,Mybatis 你踩过坑吗?

    大多数开发者应该都使用过Hibernate或者Mybatis的框架,或多或少都踩过一些坑! 如在MyBatis/Ibatis中#和$的区别,#方式能够很大程度防止sql注入,$方式无法防止Sql注入. ...

  8. map mybatis 的字段返回0_Mybatis 你踩过坑吗?

    (给ImportNew加星标,提高Java技能) 作者:似水的流年 yq.aliyun.com/roundtable/49835 大多数开发者应该都使用过Hibernate或者Mybatis的框架,或 ...

  9. celery开发中踩的坑

    celery开发中踩的坑 celery连接redis 当使用redis做broker,redis连接需要密码时: BROKER_URL='redis://:xxxxx@127.0.0.1:6379/0 ...

最新文章

  1. 摩卡业务服务管理(Mocha BSM)解决方案
  2. [CareerCup] 16.5 Semphore 信号旗
  3. 阿里云数据库RDS环境搭建
  4. 【Android APT】注解处理器 ( 注解标注 与 初始化方法 )
  5. .NET MVC 学习笔记(一)— 新建MVC工程
  6. python tensorflow tf.Session().run()函数(运行操作并评估“fetches”中的张量)
  7. arm汇编:.balignl伪指令理解
  8. Apache应用实例:建立yum服务器
  9. 网页搜索怎么显示排名_深圳seo搜索排名优化效果怎么样
  10. SVG.js 颜色渐变使用
  11. 将一个项目中的图片存到另一个项目中_复盘一个Smart200小项目(2)
  12. jQuery distpicker省市区三级联动
  13. 网络规划设计和具体实施
  14. 数据库范式(1 2 3 BCNF范式)详解
  15. 解决MAC上网速度慢的原因
  16. 网易考拉布局和css样式
  17. sparksql-分组月度环比同比自动化
  18. 简单定制统信UOS镜像的方法
  19. F2FS源码分析-5.2 [数据恢复流程] 后滚恢复和Checkpoint的作用与实现
  20. 从像素之间谈起:像素游戏的画面增强

热门文章

  1. openzeppelin批量测试Solidity合约
  2. 小程序腾讯地图绘制大头针,以及还原位置
  3. Brain tumor segmentation using deep learning +HybridResUnet脑胶质瘤分割BraTs +论文解读
  4. oracle11g32位安装流程_Oracle 11g下载
  5. 【java笔记】有序集合SortedSet和有序映射SortedMap的使用
  6. 四、nginx正向代理
  7. 如何为neo4j中的【关系】添加or修改【属性】?
  8. 目前工业机器人可以替代哪些工种或者哪些从业人员的工作?
  9. Synonyms最好的中文近义词工具包
  10. Scala的Seq实现的初步分析