Django admin美化插件suit使用示例

下面为您详细讲解“Django admin美化插件suit使用示例”的完整攻略。该攻略包含两条示例说明。

美化Django Admin的插件suits

Django Admin是Django默认自带的后台管理系统,功能强大,但是界面不够美观。为了让Django Admin变得更加优美,我们可以使用插件suits进行美化。

安装suits

我们可以通过pip安装suits插件:

pip install django-suit 

安装结束后,将suits添加到INSTALLED_APPS中:

INSTALLED_APPS = [ 
    # ...other apps... 
    'suit', 
]

最后,在Django的urls.py中添加以下代码:

from django.conf.urls import url 
from django.contrib import admin 
from django.urls import include 
from django.views.generic import TemplateView 

admin.autodiscover() 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^dashboard/$', TemplateView.as_view(template_name='admin/dashboard.html'), name='dashboard'), 
    url(r'^docs/', include('django.contrib.admindocs.urls')), 
    url(r'^', include('your_own_app.urls')), 
]

使用suits

在安装和配置好suits后,我们可以开始使用它了。

settings.py中,添加以下代码以启用suits:

SUIT_CONFIG = { 
    'ADMIN_NAME': 'My App', 
    'LIST_PER_PAGE': 15, 
    'MENU': ( 
        'sites', 
        {'app': 'auth', 'label': '授权', 'icon':'icon-lock'}, 
        {'label': '其他页面', 'icon':'icon-cog', 'models': ('app1.model1', 'app1.model2', 'app2.model1', 'app2.model2')}, 
        {'label': '统计', 'icon':'icon-stats-dots', 'url': '/my-dashboard/'}, 
    ), 
    'SEARCH_URL': '/admin/your_app/your_model/', 
    'MENU_ICONS': { 
        'auth': 'icon-lock', 
        'sites': 'icon-leaf', 
        'app1': 'icon-folder-open', 
        'app2': 'icon-file-text', 
    }, 
    'LIST_PER_PAGE': 50, 
} 

示例1:

一个简单示例,在展示每个模型的列表时,添加模型的描述。

在您的model.py中,添加以下代码:

from django.db import models 

class MyModel(models.Model): 
    name = models.CharField(max_length=30) 
    description = models.TextField() 

    def __str__(self): 
        return self.name 

    class Meta: 
        verbose_name = '我的模型' 
        verbose_name_plural = '我的模型' 

在您的admin.py中,添加以下代码:

from django.contrib import admin 
from myapp.models import MyModel 

class MyModelAdmin(admin.ModelAdmin): 
    list_display = ('name', 'description') 
    search_fields = ('name', 'description') 
    list_per_page = 20 

admin.site.register(MyModel, MyModelAdmin) 

示例2:

一个进阶示例,使用查询过滤器。

在您的model.py中,添加以下代码:

from django.db import models 

GENDER_CHOICES = (('M', '男性'), ('F', '女性')) 
class Person(models.Model): 
    name = models.CharField(max_length=30) 
    gender = models.CharField(max_length=1, choices=GENDER_CHOICES) 
    age = models.IntegerField() 

    def __str__(self): 
        return self.name + ' (' + self.gender+')' 

    class Meta: 
        verbose_name = '我的模型' 
        verbose_name_plural = '我的模型' 
        ordering = ('name',) 

在您的admin.py中,添加以下代码:

from django.contrib import admin 
from myapp.models import Person, GENDER_CHOICES 

class PersonAdmin(admin.ModelAdmin): 
    list_display = ('name', 'gender', 'age') 
    list_filter = ('gender', 'age') 
    search_fields = ('name',) 

admin.site.register(Person, PersonAdmin) 

以上就是“Django admin美化插件suit使用示例”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Django admin美化插件suit使用示例 - Python技术站

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

相关文章

  • [django]模板template原理

    django 中的render和render_to_response()和locals(): http://www.cnblogs.com/wangchaowei/p/6750512.html 什么是contetxt https://www.zhihu.com/question/26387327 context可以理解为环境变量,不同的环境中意义不同 tem…

    Django 2023年4月10日
    00
  • 第四篇Django之模板语言

    一 模板的执行 模板的创建过程,对于模板,其实就是读取模板(其中嵌套着模板的标签),然后将Model中获取的数据插入到模板中,最后将信息返回给用户 def current_datetime(request): now = datetime.datetime.now() html = “<html><body>It is now %s.…

    Django 2023年4月16日
    00
  • 【网络开发】WeX5的Ajax和Django服务器json接口对接跨域问题解决

    问题背景 WeX5是典型的html5+js架构。源文件全部放到服务器的UI Server中,使用通用的tomcat,例如使用域名www.wuyoubar.cn:8080/x5。 Android和IOS的服务器端Django已经实现了json的处理,json的主域名www.wuyoubar.cn:80 PC访问WeX5页面。避免重复进行数据处理,WeX5的JS…

    Django 2023年4月13日
    00
  • [Django_1_0]初次见面

    文章将写安装和第一次使用时候的操作。文章是照着文档做的,但是以后的内容会有不一样。 安装 pip install django 我这里是使用python3的,也可以使用 pip3 install django 安装成功之后也可以通过 python3 -m django –version 查看版本,如果安装失败,则会返回 No model named dja…

    2023年4月9日
    00
  • [Django_1_2]数据库设置

    本篇将介绍Django中的数据库设置,了解模型(models,数据库中的表项设计)。上一篇文章为:<a href=”http://www.cnblogs.com/guoyunzhe/p/5778295.html”, target=”_blank”> Django 第一个app 选择数据库类型 Django默认使用的是SQLite,同时还支持MyS…

    Django 2023年4月13日
    00
  • Anaconda+django写出第一个web app(一)

    在安装好Anaconda和django之后,我们就可以开始创建自己的第一个Web app,那么首先创建一个空文件夹,之后创建的文件都在这个文件夹内。 启动命令行进入此文件夹内,可以先通过如下命令查看一下自己的python版本和django版本。  python –version  django-admin –version  我的python和djang…

    Django 2023年4月11日
    00
  • Django通用视图APIView和视图集ViewSet的介绍和使用(Django编程-1)

    1.APIView DRF框架的视图的基类是 APIViewAPIView的基本使用和View类似 Django默认的View请求对象是 HttpRequest,REST framework 的请求对象是 Request。Request对象的数据是自动根据前端发送数据的格式进行解析之后的结果。HttpRequest.GET ————> Request.…

    Django 2023年4月11日
    00
  • [django]form不清空问题解决

    https://www.cnblogs.com/OldJack/p/7118396.html 有时候提交表单后,发现某个字段写错了,但是form的其他字段竟然被清空,这个万万不能接受.所有django的form后端生成form的html,渲染到前端可以解决1.前端写form的html2.django的form生成前端form所需的html forms.htm…

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