前言
django自带的admin后台管理页面有点丑陋,于是网上的大神优化了一版后台管理xadmin,并且开源了,在github开源下载到源码。
注意环境搭配:
- django 2.2
- xadmin 2.0
- python 3.7
xadmin安装
xadmin在github的源码地址https://github.com/sshwsfc/xadmin,可以用pip安装也可以自己下载后导入到项目中;
这里不推荐pip安装,会有报错。本篇介绍下载xadmin后导入的django项目中的方法。
先在github上下载源码包,由于小编的django版本是2.2版本,下载对应的django2分支代码。
下载后解压出来,只需要里面的xadmin这一部分内容
在原来的django项目工程下新建一个extra_apps包(注意:一定是在工程下,其它目录下,等会可能出现No module named 'xadmin' ),把上面的xadmin目录整个放到extra_apps目录下,如下结构
接着在pycharm上把extra_apps 包Mark为Sources Root。具体操作方法:extra_apps右键——Mark Directory As——Sources Root
在解压的文件里requirements.txt有列出相关的依赖包,用pip安装;
pip install -r requirements.txt
添加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', #管理静态文件框架 'tb', #应用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__))) 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中配置路由
# coding:utf-8 from django.conf.urls import url from django.contrib import admin import xadmin urlpatterns = [ url('^admin/',admin.site.urls), #原来的admin url('^xadmin/',xadmin.site.urls), #xadmin ]
之后执行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是一样的