一. xadmin的使用

  后台管理在开发中可以给我们提供很大的便利,django自带了一个后台管理admin,不过还有一个xadmin比django自带的好用一些,功能更加强大,为模型提供了版本控制,可以回滚数据。django中权限主要靠六表实现,首先是基础的user、group、permission三表,然后分别是user与group的多对多关系表、group与permission的多对多关系表,最后django特有的user与permission的多对多关系表。django基于用户user、组group、权限permission三张表的关系,一共六张表来实现权限管理。

  xadmin里面提供了权限的管理,而且使用很简单。

1.1 xadmin的使用流程

  1. 安装xadmin

  因为xadmin是基于Pillow模块的,所以需要先安装Pillow模块:

# 安装Pillow模块
pip install Pillow # 安装xadmin第一种方式
pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2 # 安装xadmin第二种方式
pip install xadmin

  1.2 在配置的APP中注册xadmin

INSTALLED_APPS = [
# ...
# xamin主体模块
'xadmin',
# 渲染表格模块
'crispy_forms',
# 为模型通过版本控制,可以回滚数据
'reversion',
]

  1.3 xadmin数据库迁移

  因为xadmin是有自己的数据库模型类的,所以需要进行数据库迁移操作。

python manage.py makemigrations
python manage.py migrate

  1.4 在主路由中替换掉admin

# xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models() urlpatterns = [
# 将原本的admin路由改成以下方式即可
path(r'xadmin/', xadmin.site.urls),
]

  1.5 创建超级用户

# 在项目根目录下的终端
python manage.py createsuperuser # 账号密码设置(随意设置):admin | admin

  1.6 完成xadmin全局配置:在APP下新建adminx.py

# xadmin全局配置
import xadmin
from xadmin import views class GlobalSettings(object):
"""xadmin的全局配置"""
site_title = "海贼学城" # 设置站点标题
site_footer = "海贼王有限公司" # 设置站点的页脚
menu_style = "accordion" # 设置菜单折叠 xadmin.site.register(views.CommAdminView, GlobalSettings)

  配置前:

  利用以上配置后,在项目的配置文件中修改时区与语言设置如下:

# 将英文改为中文
LANGUAGE_CODE = 'zh-hans' # 设定时区
TIME_ZONE = 'Asia/Shanghai' USE_I18N = True USE_L10N = True USE_TZ = True

  最终显示如下:

  1.7 在adminx.py中注册model

from . import models
# 注册
xadmin.site.register(models.模型表名)

  同时模型表中字段可以增加verbose_name属性,表示后台管理时显示的名字。

  1.8 修改app:home的名字:xadmin页面上的显示效果

# APP下的__init__.py
default_app_config = "home.apps.HomeConfig" # APP下的apps.py
from django.apps import AppConfig
class HomeConfig(AppConfig):
name = 'home'
verbose_name = '我的首页'

Django 后台管理xadmin的更多相关文章

  1. django后台管理-admin

    0922自我总结 django后台管理-admin 一.模型注册 admin.py 注册方式一: #在对于注册的app中的admin文件中导入模型然后注册模型 admin.site.register( ...

  2. Django——后台管理

    1.要使用Django-admin后台的前提 INSTALLED_APPS = [ 'simpleui', 'django.contrib.admin', #必须有这一项 'django.contri ...

  3. Django后台管理的使用

    Django后台管理的使用 参考文章:https://www.runoob.com/django/django-admin-manage-tool.html 1.编写好models 直接在admin. ...

  4. Django后台管理界面

    之前的几篇记录了模板视图.模型等页面展示的相关内容,这篇主要写一下后台admin管理界面的内容. 激活管理界面 Django管理站点完全是可选择的,之前我们是把这些功能给屏蔽掉了.记得上篇中Djang ...

  5. django后台管理-ModelAdmin对象

    Django最强大的部分之一是自动生成的管理后台界面. 它从你的模型中读取元数据,以提供一个快速的.以模型为中心的界面,信任的用户可以在这里管理你网站上的内容. 建议管理后台仅作为组织的一个内部管理工 ...

  6. 强大的Django后台管理

    Django 后台 django的后台我们只要加少些代码,就可以实现强大的功能.与后台相关文件:每个app中的 admin.py 文件与后台相关 下面示例是做一个后台添加博客文章的例子: 新建一个 名 ...

  7. [oldboy-django][1初始django]后台管理页面的布局 + djano母版(继承html)

    完善学员管理系统 - bootstrap fontawesome - 分页,路径导航,表格(class样式),消息图标(i标签),邮件图标(i标签) - 响应式导航 @media(min-width, ...

  8. Django 后台管理 之登录和注销

    Session:     session是服务器端生成保存的一个键值对 , session内部机制依赖于cookie . 用户登录后返回给客户端一个随机字符串,客户端带着随机字符串访问服务器,用于验证 ...

  9. django后台管理

    后台管理 1)  本地化 语言和时区的本地化. 修改settings.py文件. # LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-hans' # TIME_ ...

随机推荐

  1. 聊聊 Airtest 自动化工具

    阅读文本大概需要 5 分钟. 很多读者看过之前的文章,发现我使用最多的是一款 Airtest 的自动化测试框架. Airtest 是一款适合于游戏和 App 的 UI 自动化测试框架. 下面对 Air ...

  2. Android Studio NDK编程初探

    继上一篇学习了如何使用NDK编译FFMPEG后,接下来就是要学习如何在Android Studio中使用了. 经过参考和一系列的摸索,记录下具体步骤. 创建C++ Support的Android St ...

  3. 設定MacOS 終端機環境 (Homebrew/zsh/oh-my-zsh/iTerm2)

    安裝Homebrew 1 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in ...

  4. 确认下眼神!有没有遇上对的工资(测试leader)

    屏蔽敏感信息,直接上图: ▼

  5. Nginx502,504和499错误解决方案

    499错误解决方案 499错误是什么?让我们看看NGINX的源码中的定义: ngx_string(ngx_http_error_495_page), /* 495, https certificate ...

  6. tomcat&servlet初记

    tomcat&servlet初记 1. web相关概念 2. web服务器软件的学习:tomcat 3. servlet入门学习 web相关概念 1,软件架构 1,cs架构:客户端/服务器端 ...

  7. MySQL之单表多表查询

    #1.单表查询 #单表查询语法 select <字段1,字段2....> from <表名> where <表达式> group by field 分组 havin ...

  8. 一文看懂js中元素的滚动大小(scrollWidth,scrollHeight,scrollTop,scrollLeft)

    滚动大小(scroll dimension) 滚动大小指的是包含滚动内容元素的大小. 以下是与元素滚动内容大小相关的属性: 1. scrollWidth:在没有滚动条的情况下,元素内容的总宽度. 2. ...

  9. sql04

    1.类型转换 ),ClassId)+name from [user]; 2.一次性插入多条数据 3.日期函数 1)getdate() 返回当前日期 2)dateadd 计算增加后的时间 ,'2020- ...

  10. node--CommonJS

    1.CommonJS 1)弥补js没有标准的缺陷 2.Node模块 1)分为核心模块和用户自定义模块 2)我们可以把公共的功能抽离为一个单独的js文件作为一个模块 其中的成员和属性外界无法访问,若要设 ...