Django2.2配置xadmin的实现

yizhihongxing

下面是详细的“Django2.2配置xadmin的实现”的攻略,包含两个示例:

简介

XAdmin是一个基于Django的第三方管理后台框架,它提供了很多方便的功能,如内置了Bootstrap、jQuery、font-awesome等前端框架,同时支持主题定制和插件扩展等功能。下面让我们来详细讲解一下如何在Django2.2中配置XAdmin。

准备工作

在开始配置XAdmin之前,我们需要先安装XAdmin和Django2.2,可以使用pip命令进行安装:pip install xadmin django==2.2

接着在settings.py文件中加入以下内容:

INSTALLED_APPS = [
    'xadmin',
    'crispy_forms',
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
]

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            'context_processors': [
                'django.template.context_processors.debug',
                'django.template.context_processors.request',
                'django.contrib.auth.context_processors.auth',
                'django.contrib.messages.context_processors.messages',
            ],
            'builtins': [
                'xadmin.templatetags.xadmin',
                'crispy_forms.templatetags.crispy_forms_tags',
                'crispy_forms.templatetags.crispy_forms_field',
            ],
        },
    },
]

由于在XAdmin中需要使用到Crispy-forms,因此需要在INSTALLED_APPS中添加'crispy_forms'。在TEMPLATES中需要添加一些builtins来加入Crispy-forms和XAdmin的一些模板标签。

后台管理界面

在此基础上,我们就可以开始定义我们自己的后台管理了,下面以两个示例来讲解。

示例一

首先,定义一个Admin模型(这里是BlogAdmin):

from django.contrib import admin
from .models import Blog

class BlogAdmin(admin.ModelAdmin):
    list_display = ('title', 'pub_date')
    ordering = ('-pub_date',)

admin.site.register(Blog, BlogAdmin)

这里的list_display用于定义在列表视图中显示的字段,ordering用于定义默认的排序方式。

对于使用XAdmin的话,只需将BlogAdmin继承自object(这个可避免一些微小的错误)并修改继承自admin.ModelAdmin的后台管理类名即可:

import xadmin

class BlogAdmin(object):
    list_display = ('title', 'pub_date')
    ordering = ('-pub_date',)

xadmin.site.register(Blog, BlogAdmin)

示例二

定义一个ArticleAdmin用于管理Article模型:

from .models import Article
from DjangoUeditor.widgets import UEditorWidget

class ArticleAdmin(object):
    formfield_overrides = {models.TextField: {'widget': UEditorWidget}}
    list_display = ('title', 'created_time', 'modified_time')

xadmin.site.register(Article, ArticleAdmin)

这里的UEditorWidget是一个用于管理富文本的插件,需要先进行安装:pip install django-ueditor,同时在settings.py中加入以下内容:

INSTALLED_APPS = [
    # Other apps...
    'DjangoUeditor',
]

# Django-ueditor配置
UEDITOR_SETTINGS = {
    # 'autoHeightEnabled': True,
    'scaleEnabled': True,
    'toolbars': [
        # 这里是工具栏,具体可以参照其他博客进行配置
    ],
    'imagePath': 'images/blog/ueditor/',
    'filePath': 'files/blog/ueditor/',
    'fileUrlPrefix': '',  # 上传的文件的相对于MEDIA_URL的路径,这里设置为空,即上传后的文件可以直接访问,如果需要加上MEDIA_URL的话,必须先设置好MEDIA_URL
    'imageUrlPrefix': '',
}

以上就是XAdmin的配置和两个示例,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django2.2配置xadmin的实现 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • Django自定义中间件及其实例应用

    Django中,中间件是在请求和响应之间执行的钩子函数。它们是Django实现某些功能的重要方式。 本文将详细介绍Django自定义中间件,包括它们的作用、如何创建和注册中间件,以及它们的应用实例。 中间件是用于在用户请求到达视图函数之前或响应到达用户之前进行预处理的。例如,我们可以使用中间件来处理一些常见的任务,比如身份验证、缓存、HTTPS重定向等。同时…

    Django 2023年3月13日
    00
  • Django–用户认证组件auth(登录用-依赖session,其他用)

    一、用户认证组件auth介绍 二、auth_user表添加用户信息 三、auth使用示例 四、auth封装的认证装饰器 五、自定义 一、用户认证组件auth介绍 解决的问题: 之前是把is_login=True放在session里来判断用户是否登录之前的操作,在覆盖的时候有问题。例如两个用户先后登录,第一个用户key-value比较多,第二个key-valu…

    Django 2023年4月12日
    00
  • django使用auth模块进行身份认证

    https://docs.djangoproject.com/zh-hans/2.0/topics/auth/default/#authentication-in-web-requests django认证模型系统是django自带,默认配置文件在settings.py文件当中。这个项目在INSTALLED_APPS setting里面由两个部分组成,分别是…

    Django 2023年4月12日
    00
  • 详解Django admin高级用法

    详解Django admin高级用法 Django admin是Django自带的管理员后台管理系统,可以方便地进行数据库管理,数据展示,数据处理等功能。本文将详细讲解如何使用Django admin的高级用法。 1. 自定义管理器 在Django admin中,如果希望对某个Model进行管理时,需要先创建一个管理器类,例如: from django.co…

    Django 2023年5月16日
    00
  • django缓存优化中caches参数如何配置?

    在python开发中,如果运营django进行编写,为了提升效率,常常需要优化缓存,接下来和大家介绍的就是缓存优化中必须只晓得caches参数相关知识,一起来看看吧。 CACHES 配置参数概述 – 格式 CACHES 字典配置格式如下 { ‘default’: { ‘BACKEND’: ‘django.core.cache.backends.locmem.…

    Django 2023年4月11日
    00
  • Django-rest framework的安装与使用

    目录 01-03 Django-rest framework的安装与使用 1.安装与配置 2.如何使用 01-03 Django-rest framework的安装与使用 1.安装与配置 ​ 1)安装drf:pip install dajngorestframework ​ 2)项目settings.py注册app:INSTALLED_APPS = [ ..…

    Django 2023年4月13日
    00
  • Python+Django实现简单HelloWord网页的示例代码

    接下来我将为您详细讲解“Python+Django实现简单HelloWord网页的示例代码”的完整攻略,包括两个示例说明。 示例1:简单的HelloWorld网页 Step 1. 安装Django 首先,要确保在您的电脑上已经安装了Python。然后,在终端中执行以下代码来安装Django: pip install django Step 2. 创建Djan…

    Django 2023年5月16日
    00
  • Python – Django – simple_tag 和 inclusion_tag

    simple_tag 和自定义 filter 类似,但可以接收更多更灵活的参数 在 app01/templatetags/ 目录下创建 mysimple_tag.py mysimple_tag.py: from django import template register = template.Library() @register.simple_tag(…

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