django入门(三):高级版后台xadmin
部署
-
用 pip 安装 xadmin 及相关依赖包
pip install xadmin pip uninstall xadmin #以上操作之所以先用 pip 安装又卸载,是希望借助 pip 安装 xadmin 需要的依赖,然后我们再使用 github 最新版的 xadmin 时便不需要担心依赖的缺少.
-
从 github 下载 xadmin 最新源码(xadmin 文件夹),放到项目根目录下的 extra_apps
-
在 settings.py 中注册 xadmin 和 crispy_form
-
在 urls.py 中移除 admin 的引用,引用 xadmin 并且修改 url
-
createsuperuser
-
make migerations 并且 migerate,期间可能会提醒缺少的包,pip 安上即可.比如future,six,django-import_export 等
-
debug,测试登陆,成功即可进行最后一步
-
如果后面对数据库操作添加数据等报错提示缺少xadmin 相关表时,只需要 makemigerations 并 migerate 即刻.
将 models 中的数据表注册到 xadmin 管理
注册
- 在 app 目录下新建 adminx.py
- 在 adminx.py 中写代码实现注册表到 xadmin 中进行管理.思路:
- import xadmin 和 models 里的表类
- 新建‘表名admin’类,内容可以先 pass
- 用 register 函数注册,将1和2里的两个类绑定.注意参数顺序,先表类后 admin类.
优化
-
为 models.py 中的 class ,尤其是作为外键的数据表重载str 函数,规定被显示的信息
-
adminx.py 中的 ***admin class可以添加
list_display=[]设置默认显示数据库哪些字段.
list_filter=[]增加过滤器字段(外键需要指定字段:外键__字段名).
search_fields=[]设置可搜索的字段,一般排除时间避免错误.
-
apps.py 为 class 增加 verbose_name,同时在 app 的 init.py 增加一行, 即可替代后台APP名称
xadmin 全局配置
-
任选一个app 下的 adminx.py
-
adminx.py 中写BaseSetting 这个类
- enable_themes = True
- use_bootswatch = True
-
同理,GlobalSetting 类
- site_title
- site_footer
- menu_style = 'accordion' # 左侧折叠
-
注册这两个类
from xadmin import views xadmin.site.register(views.BaseAdminView, BaseSetting) xadmin.site.register(views.CommAdminView, GlobalSetting)
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。