1. xadmin的介绍

django自带的admin站点虽然功能强大,但是界面不是很好看。而xadmin界面好看,功能更强大,并完全支持Bootstrap主题模板。xadmin内置了丰富的插件功能。包括数据导出、书签、图表、数据添加向导及图片相册等多种扩展功能。

  界面如下:

2. xadmin的安装

本文所用xadmin模块适用于Python3.6+Django2.0以上使用

从https://github.com/sshwsfc/xadmin/tree/django2下载支持django2版本的xadmin包xadmin-django2.zip,解压后在路径下cmd运行

1 python setup.py install

3. 安装xadmin的依赖环境包

依赖包在解压的目录下,名字为requirements.txt

1 pip install -r requirements.txt

requirements.txt 文件缺少两个模块,用于xadmin文件的excel形式到处功能,也需要安装,如下:

1 pip install xlwt
2 pip install xlsxwriter

4. 在Django项目配置

  • 进入项目中修改settings.py文件在INSTALLED_APPS添加如下:
1 INSTALLED_APPS = (
2 ...
3 'xadmin',
4 'crispy_forms',
5 'reversion',
6 ...
7 )
  • Django的app并修改app中增加adminx.py文件,可以把原admin.py拷贝一份然后重命名为adminx.py(必须名为adminx.py),在集成xadmin之后,admin模块其实就可以不要了,可以将原admin的代码注释或删掉。

  • 修改lybbnxadmins项目中urls.py文件内容如下:

1 from django.conf.urls import url
2 import xadmin
3 urlpatterns = [
4 url(r'^xadmin/', xadmin.site.urls),
5 ]

引入xadmin模块,将admin的路径修改为xadmin.

  • 同步到数据库
1 python manage.py makemigrations
2 python manage.py migrate
  • 在xadmin.py中的修改

在原admin.py中的admin.ModelAdmin全部替换为object,将原admin.py中所有的内容重新注册到xadmin.py中

5.启动项目

1 python manage.py runserver

致谢:

http://www.lybbn.cn/data/datas.php?yw=288,来自Lybbn(lybbn.cn)

https://blog.csdn.net/u014793102/article/details/80316335,来自 程序员duke

感谢两位老哥写的博文,对我帮助很大。

Python3.6+Django2.0以上 xadmin站点的配置和使用的更多相关文章

  1. python3.5+django2.0快速入门(二)

    昨天写了python3.5+django2.0快速入门(一)今天将讲解配置数据库,创建模型,还有admin的后台管理. 配置数据库 我们打开mysite/mysite/settings.py这个文件. ...

  2. python3.5+django2.0快速入门(一)

    因为这篇教程需要用到anaconda的一些操作,如果还不懂anaconda的操作的同学可以看下这篇文章python 入门学习之anaconda篇. 创建python3+的开发环境 直接在终端输入:co ...

  3. 《玩转Django2.0》读书笔记-Django配置信息

    <玩转Django2.0>读书笔记-Django配置信息 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 项目配置是根据实际开发需求从而对整个Web框架编写相应配置信息. ...

  4. Django2.0里urls.py里配置的改变

    从Django2.0开始,urls.py配置方法有很大改变. 1.把url函数换成path 2.不在使用^.$作为路由 3.其他地方以后再进一步研究 下面看一个列子: from django.cont ...

  5. 自己用到的解决Python3.6.5+Django2.0集成xadmin后台点击添加或者内容详情报 list index out of range 的错误的办法如下:

    Python3.6.5 Django2.0 这是Django版本与xadmin兼容的问题 解决办法如下: 注释掉如下代码: def render(self, name, value, attrs=No ...

  6. python3.0安装django2.0、xadmin

    1.操作环境 Windows10.python3.8 2.安装django2.0 pip install django==2.0 x   1 pip install django==2.0 3.安装相 ...

  7. python3下Django2.0配置最新xadmin详解

    1,打开pycharm,创建一个Django项目 2,安装Django,默认是最新版本,pip3 install -i https://pypi.douban.com/simple/ django 3 ...

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

    一 问题说明在创建Model的时候,如果存在类型是DateTimeField的字段,则在xadmin后端管理界面里,对该Model进行添加操作的时候,会报list index out of range ...

  9. 【Python3.6+Django2.0+Xadmin2.0系列教程一】环境搭建及项目创建

    由于工作需要,接触了大半年时间的Django+xadmin框架,一直没空对这块对进行相关的梳理.最近在同事的怂恿下,就在这分享下笔者的学习及工作经验吧. 好了,话不多说,下面开始进入正题: 环境需求: ...

随机推荐

  1. Servlet jsp maven 依赖包

    servlet<dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servl ...

  2. [NOI Online 2021 提高组] 积木小赛

    思路不说了. 想起来自己打比赛的时候,没睡好.随便写了个\(HASH\),模数开小一半分都没有. 然后学了\(SAM\),发现这个判重不就是个水题. \(SAM\)是字串tire的集合体. 随便\(d ...

  3. Codeforces 1446D2 - Frequency Problem (Hard Version)(根分)

    Codeforces 题面传送门 & 洛谷题面传送门 人菜结论题做不动/kk 首先考虑此题一个非常关键的结论:我们设整个数列的众数为 \(G\),那么在最优子段中,\(G\) 一定是该子段的众 ...

  4. Codeforces 1097G - Vladislav and a Great Legend(第二类斯特林数+树上背包)

    Codeforces 题目传送门 & 洛谷题目传送门 首先看到这题我的第一反应是:这题跟这题长得好像,不管三七二十一先把 \(k\) 次方展开成斯特林数的形式,\(f(X)^k=\sum\li ...

  5. Codeforces 1542E2 - Abnormal Permutation Pairs (hard version)(DP)

    upd on 2021.7.7:修了个 typo Codeforces 题目传送门 & 洛谷题目传送门 首先考虑怎样处理"字典序小"这个问题,按照字典序比大小的套路,我们可 ...

  6. 【2】蛋白鉴定软件之Comet

    目录 1.简介 2.下载安装 3.软件使用 4.结果 1.简介 官网:http://comet-ms.sourceforge.net/ 1993年开发,持续更新,免费开源 适用Windows/Linu ...

  7. cmd查看同一个局域网内电脑IP

    win+R,cmd  #快速打开cmd窗口 net view  #查看本地局域网内开启了哪些计算机共享  运行后可以看到已共享的计算机名称 net view ip  #查看对方局域网内开启了哪些共享 ...

  8. gg=G

    1.代码格式化对齐 2.直接按下ESE模式下就可以来执行了

  9. 5分钟6步强制删除kubernetes NameSpace小技巧

    在使用kubernetes过程中,我们经常会遇到无法删除NameSpace的情况,但是如果一一去删除NameSpace中资源比较麻烦.下面我们给大家介绍强制删除NameSpace的方法. 一.查看已存 ...

  10. C++构造函数和析构函数初步认识(2)

    构造函数的三个作用1.构造对象2.对象初始化3.类型转换  //Test1.h #include<iostream> using namespace std; //构造对象 //初始化对象 ...