python测试开发django-34.xadmin管理后台

前言

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

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

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

import os

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

修改后的代码如下

# 修改后
import os
import sys

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))
sys.path.insert(0, os.path.join(BASE_DIR, 'extra_apps'))

urls.py中配置路由

from django.contrib import admin
import xadmin

urlpatterns = [
    url(r'^xadmin/', xadmin.site.urls),   # xadmin
    url(r'^admin/', admin.site.urls),     # 原来的admin
]

setting.py设置成中文

LANGUAGE_CODE = 'zh-hans'

TIME_ZONE = 'Asia/Shanghai'

USE_I18N = True

USE_L10N = True

USE_TZ = False

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

python manage.py makemigrations
python manage.py migrate

不行的话执行:python manage.py migrate xadmin
python manage.py runserver

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

python manage.py createsuperuser

打开xadmin后台

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

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

posted @ 2019-06-12 15:23  北方卧龙  阅读(291)  评论(0编辑  收藏  举报