前言

django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码。

注意环境搭配:

  • django 2.1.2
  • xadmin 2.0
  • python 3.6

xadmin安装

xadmin在github的源码地址https://github.com/sshwsfc/xadmin,可以用pip安装也可以自己下载后导入到项目中。

这里不推荐pip安装,会有报错。本篇介绍下载xadmin后导入的django项目中的方法。

先在github上下载源码包,由于小编的django版本是2.1版本,下载对应的django2分支代码。

这里不能直接下载master分支(别问是怎么知道的,一把辛酸泪!),版本不匹配,亲人两行泪!

下载了后解压出来,只需要里面的xadmin这一部分内容

在原来的django项目工程下新建一个extra_apps包,把上面的xadmin目录整个放到extra_apps目录下,如下结构

接着在pycharm上把extra_apps包Mark为Sources Root。具体操作方法:extra_apps右键-找到Mark Directory As-选择Sources Root

(要是找不到这个选项,估计是用的盗版pycharm?)

在解压的文件里requirements.txt有列出相关的依赖包,用pip安装

  • django-crispy-forms>=1.6.0
  • django-import-export>=0.5.1
  • django-reversion>=2.0.0
  • django-formtools==1.0
  • future==0.15.2
  • httplib2==0.9.2
  • six==1.10.0

添加xadmin配置

在项目setting.py中INSTALLED_APPS下注册2个app,xadmin和crispy_forms

  1. INSTALLED_APPS = [
  2. 'django.contrib.admin', # 管理站点
  3. 'django.contrib.auth', # 认证系统
  4. 'django.contrib.contenttypes', # 用于内容类型的框架
  5. 'django.contrib.sessions', # 会话框架
  6. 'django.contrib.messages', # 消息框架
  7. 'django.contrib.staticfiles', # 管理静态文件框架
  8. 'hello', # 应用app
  9. 'xadmin', # 新添加
  10. 'crispy_forms', # 新添加
  11. ]

找到BASE_DIR这行,添加两行代码,修改前代码如下

  1. import os
  2. # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
  3. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

修改后的代码如下

  1. # 修改后
  2. import os
  3. import sys
  4. # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
  5. BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  6. sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
  7. sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

urls.py中配置路由

  1. from django.contrib import admin
  2. import xadmin
  3. urlpatterns = [
  4. url(r'^xadmin/', xadmin.site.urls), # xadmin
  5. url(r'^admin/', admin.site.urls), # 原来的admin
  6. ]

setting.py设置成中文

  1. LANGUAGE_CODE = 'zh-hans'
  2. TIME_ZONE = 'Asia/Shanghai'
  3. USE_I18N = True
  4. USE_L10N = True
  5. USE_TZ = False

之后执行 makemigrations 和migrate,然后runserver启动服务

python manage.py makemigrations

python manage.py migrate

python manage.py runserver

创建管理员用户,如果之前admin后台创建过,下面这步可以省略,账号可以通用

python manage.py createsuperuser

打开xadmin后台

在浏览器输入http://localhost:8000/xadmin/地址,就可以打开xadmin的后台了

登录的账户和密码跟之前的admin是一样的

python测试开发django-34.xadmin管理后台的更多相关文章

  1. python框架Django使用xadmin管理后台数据

    Django使用xadmin管理后台数据 关注公众号"轻松学编程"了解更多. 作用:xadmin比Django内置的admin更美观.更方便. 一.导入xadmin(第三方库) 方 ...

  2. django+x-admin管理后台模板开发管理后台案例(设计部分)

    使用django+x-admin管理后台模板搭建管理后台 一.环境需求 1.django:3.1 2.python:3.7 3.x-admin:2.2 4.pycharm:2020.3.2 5.ubu ...

  3. python测试开发django-36.一对一(OneToOneField)关系查询

    前言 前面一篇在xadmin后台一个页面显示2个关联表(OneToOneField)的字段,使用inlines内联显示.本篇继续学习一对一(OneToOneField)关系的查询. 上一篇list_d ...

  4. python测试开发django-41.crispy-forms设计标签式导航菜单(TabHolder)

    前言 xadmin的详情页面主要是用form_layout布局,学会了完全可以不用写html代码,也能做出很好看的页面. xadmin的html页面是用的Bootstrap3框架设计的,layout布 ...

  5. python测试开发django-197.django-celery-beat 定时任务

    前言 django-celery-beat 可以支持定时任务,把定时任务写到数据库. 接着前面这篇写python测试开发django-196.python3.8+django2+celery5.2.7 ...

  6. python测试开发django-16.JsonResponse返回中文编码问题

    前言 django查询到的结果,用JsonResponse返回在页面上显示类似于\u4e2d\u6587 ,注意这个不叫乱码,这个是unicode编码,python3默认返回的编码 遇到问题 接着前面 ...

  7. python测试开发django-15.查询结果转json(serializers)

    前言 django查询数据库返回的是可迭代的queryset序列,如果不太习惯这种数据的话,可以用serializers方法转成json数据,更直观 返回json数据,需要用到JsonResponse ...

  8. 2019第一期《python测试开发》课程,10月13号开学

    2019第一期<python测试开发>课程,10月13号开学! 主讲老师:上海-悠悠 上课方式:QQ群视频在线教学,方便交流 本期上课时间:10月13号-12月8号,每周六.周日晚上20: ...

  9. python测试开发django-rest-framework-63.基于函数的视图(@api_view())

    前言 上一篇讲了基于类的视图,在REST framework中,你也可以使用常规的基于函数的视图.它提供了一组简单的装饰器,用来包装你的视图函数, 以确保视图函数会收到Request(而不是Djang ...

  10. python web开发——django学习(一)第一个连接mysql数据库django网站运行成功

    1.新建一个项目 2.新建一些文件夹方便管理 3.新建一个项目叫message  4.连接数据库 python web开发Django连接mysql 5.在数据库里自动生成django的表  6.运行 ...

随机推荐

  1. SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口

    SUSE Enterprise Server 12 SP3 64 设置防火墙开放8080端口 第一种方式: 1.sudo chmod a+w /etc/sysconfig/SuSEfirewall2  ...

  2. html可用于跨域的三个标签

    img 应用场景: <img>用于打点统计,统计网站可能是其他域 script 应用场景: 可以用于cdn,还可以用于JSONP link 可用于cdn

  3. vue.js 解决空格报错!!!

    当我们初入vue.js的时候.使用cli脚手架快速创建项目的时候: 如果语法格式错误(这里主要指的是:空格多少引起的问题)!! 找到  webpack.base.config.js文件注释掉下面的东西 ...

  4. Jupyter Notebook 入门

    参考     Jupyter Notebook 快速入门 进阶 可看: Jupyter Notebook 的 27 个窍门,技巧和快捷键 Jupyter Notebook(此前被称为 IPython ...

  5. Linux下安装matlab2014a

    下载Matlab 我放在百度云盘里了,下载链接: http://pan.baidu.com/s/1pLE1qgr 密码: x4tw 该文件下载解压后如下所示:该文件下载解压后如下所示: 注意linux ...

  6. 初识MYSQL2

    mysql的配置 MySql默认的端口号是3306 默认字符集的设置 在mysql的安装目录,会看到my.ini文件! my.ini文件介绍 01.default-character-set=utf8 ...

  7. HTTP协议-缓存

    HTTP 协议中,缓存更多关心的文档资源的再利用.其目的是减少数据传输,加快相应速度等等.而对于缓存采用的是什么方案,也就是存在内存中还是硬盘中之类的问题,就属于另外的内容了. 假设,我身在广东,但是 ...

  8. Outdated Kotlin Runtime

    你的 kotlin 运行时版本 在 1.1.2库中 是 1.1.2 然而插件版本是 1.1.4 . 运行时库 应该被更新,避免兼容问题. Outdated Kotlin Runtime Your ve ...

  9. python简单实现队列和栈push、pop操作

    栈: # -*- coding: utf-8 -*- #定义序列 lst=[] def pop(): if(len(lst)==0): print"栈为空","无法出栈& ...

  10. MAC下安装Brew[转]

    MAC下安装Brew 1.安装XCode xcode-select --install 2.安装HomeBrew ruby -e "$(curl -fsSL https://raw.gith ...