xadmin的使用

安装

在项目的虚拟环境下执行

pip install https://codeload.github.com/sshwsfc/xadmin/zip/django2

注意:xadmin对于不同django版本有不同的版本,一定要使用相对应的版本

在app中注册

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

设置主路由替换掉admin:主urls.py

# xadmin的依赖
import xadmin
xadmin.autodiscover()
# xversion模块自动注册需要版本控制的 Model
from xadmin.plugins import xversion
xversion.register_models()

urlpatterns = [
    # ...
    path(r'xadmin/', xadmin.site.urls),
]

执行数据库迁移

xadmin:需要自己的数据库模型类,完成数据库迁移

python manage.py makemigrations
python manage.py migrate

完成xadmin全局配置:新建user/adminx.py

注意:以下adminx.py需要放到你应用下写了model.py的app中(没有写model.py的app放了没有用)

# home/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)

在adminx.py中注册model:home/adminx.py

from . import models
# 注册
xadmin.site.register(models.Banner)

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:xadmin的使用 - Python技术站

(0)
上一篇 2023年4月2日 下午4:36
下一篇 2023年4月2日 下午4:36

相关文章

  • 函数的递归

    1.函数的递归的定义 函数的递归调用:是函数嵌套调用的一种特殊形式 具体是指:在调用一个函数的过程中又直接或者间接的调用到本身,是一个死循环,最大递归是1000次,超出之后报错。 2.函数递归的调用 # 直接调本身 def f1(): print(‘是我还是我’) f1() f1() # 间接调用 def f1(): print(‘f1’) f2() def…

    Python开发 2023年4月2日
    00
  • django中操作mysql数据库

    1.准备工作(django连接数据库) 1.本机电脑下载好mysql数据库2.打开django,修改setting.py中的DATABASES配置项 DATABASES = { ‘default’: { ‘ENGINE’: ‘django.db.backends.mysql’, ‘NAME’: ‘python’, ‘USER’: ‘root’, ‘PASSW…

    2023年4月2日
    00
  • 进程、线程补充与协程相关介绍

    补充点 1.死锁 当你知道锁的使用抢锁必须要释放锁,其实你在操作锁的时候也极其容易产生死锁现象(整个程序卡死 阻塞) from threading import Thread, Lock import time mutexA = Lock() mutexB = Lock() # 类只要加括号多次 产生的肯定是不同的对象 # 如果你想要实现多次加括号等到的是相…

    Python开发 2023年4月2日
    00
  • 上线流程

    上线流程 上线前准备 首先将跑在本地版本的项目,上传至远端(gitee、github上) 重新复制一份项目的配置文件,可以命名为pro.py(dev为开发阶段的配置文件,pro为上线的配置文件) 在pro文件内,修改以下配置项: # 将调式模式改为false DEBUG = False # 运行的host地址,正常就是写服务端的ip地址,不知道可以先写* A…

    2023年4月2日
    00
  • 源码分析之序列化器的many关键字

    在序列多个数据时,我们需要指定一个关键字many=True 这是为什么呢? 其实是,当序列化器产生对象时,传入参数many和不传入会生成两个不同的对象!! 这是怎么实现的呢?? 1.类的对象生成–先调用类的__new__方法生成一个空对象2.对象 = 类名(name=‘lz’)–会触发类的__init__方法,产生一个有属性的对象3.类的__new__方…

    2023年4月2日
    00
  • drf接口文档

    接口文档 接口编写已经写完了,需要编写接口文档,给前端的人使用 -请求地址 -请求方式 -支持的编码格式 -请求参数(get,post参数) -返回格式示例 在公司的写法 1)直接使用word或者md写2)使用接口文档平台,在接口文档平台录入(Yapi(百度开源的自己搭建),第三方平台(收费),自己开发接口文档平台) -https://www.showdoc…

    2023年4月2日
    00
  • pycharm操作redis

    安装 在终端环境下输入: pip install redis pycharm操作redis之普通连接 # 1.导入模块 from redis import Redis # 2.实例化产生链接对象 conn = Redis() # 连接本地的redis # conn = Redis(host=”,port=”,password=”,) 连接远程的redi…

    2023年4月2日
    00
  • CS、BS架构和网络通信协议

    1. CS架构 CS架构其实在我们身边比比皆是,手机里的app大多都是CS架构,比如腾讯作为服务端为你提供视频,你得下个腾讯视频客户端才能看它的视频。 这里的腾讯视频是客服端client,腾讯也有一个自己的服务端server 这种自己开创一个客服端的方式叫做CS架构。 CS架构的好处是:可以自定义发送数据的格式与方式 2. BS架构 BS架构其实也是CS架构…

    2023年4月2日
    00
合作推广
合作推广
分享本页
返回顶部