前言
使用xadmin替换Django自带的admin后台
Django自带有admin后台,但是其风格并不漂亮、功能也不是让人很满意。因此一些大牛就重写了admin后台叫做xadmin,进来的各位应该是对django自带的admin不是很满意,可以参照我的教程来一次替换。
一、 源码获取
项目github地址为https://github.com/sshwsfc/xadmin,其中的xadmin文件夹是源码文件夹。
1.1 xadmin放置位置
应将xadmin放在extra_apps,放置位置如图所示。
同时extra_apps目录点击右键-Mark Directory as --Sources Root(由于在extra_apps下的包不能互相import,这时可以右键点击Mark Directory as --> Sources Root,这样在pycharm中就可以进行相互之间的import了)
1.2 安装xadmin所需要的依赖包
django>=1.9.0
django-crispy-forms>=1.6.0
django-import-export>=0.5.1
django-reversion>=2.0.0
django-formtools==2.1
future==0.15.2
httplib2==0.9.2
six==1.10.0
PS:需django版本>1.9.0,另django-formtools==2.1,原github上注明django-formtools==1.0,我发现会报错,升级2.1就好了
1.3 现在配置settings配置文件
1.4 同时替换admin路由配置
1.5 数据迁移和表生成:
makemigrations
migrate
1.6 创建超级用户:createsuperuser
1.7 将应用注册到后台:
1.7.1
- 在应用内创建 adminx.py
- 模板:
import xadmin
from .models import User
class UserAdmin(object):
#控制显示字段
list_display = ['name', 'age', 'address', 'user_desc']
#添加搜索框
search_fields = ['name']
#添加富文本图片内容显示(需要配置富文本应用)
style_fields = {"user_desc": "ueditor"}
xadmin.site.register(User,UserAdmin)
1.8 配置富文本图片显示:
- 将DjangoUeditor导入项目
-
setting.py:
注册'DjangoUeditor'
#配置media的url
MEDIA_URL = "/media/"
#加入到环境变量
MEDIA_ROOT = os.path.join(BASE_DIR, "media")