zoukankan      html  css  js  c++  java
  • Django 个性化管理员站点

    from django.contrib import admin
    
    # Register your models here.
    from .models import Moment
    
    class MomentAdmin(admin.ModelAdmin):
        # 配置字段分组,美化管理配置界面
        fieldsets = (
            ('消息内容',{
                'fields':('content','kind'),
            }),
            ('用户信息',{
                'fields':('user_name',),
            }),
        )
        empty_value_display = '空值' #设置表级别指定空值显示方式
        Moment.user_name.empty_value_display = '未设置标题' # 可以设置字段配置
    
    # fields设定管理界面字段
    class MomentAdmin1(admin.ModelAdmin):
        fields = ('content','kind')
    
    class MomentAdmin2(admin.ModelAdmin):
        fields = ('user_name',)
    
    admin.site.register(Moment,MomentAdmin)

    结果

    模板

    默认管理员站点文件在Django/contrib/admin/templates/admin

    可以继承其中任意文件,来管理定制自己的管理站点

    1、定义子模板文件路径

    2、修改项目settings.py

    TEMPLATES = [
        {
            'BACKEND': 'django.template.backends.django.DjangoTemplates',
            'DIRS': [os.path.join(BASE_DIR, 'templates')] #本行中的路径为新加项
            ,
            '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',
                ],
            },
        },
    ]

    3、开发子模板文件

    {% extends 'admin/login.html' %}
    
    {% block content_title %}
    欢迎登录 哈哈哈 的管理网站
    {% endblock %}

    站点

    1、app/admin.py 定义AdminSite子类

    class MyAdminSite(admin.AdminSite):  # 定义AdminSite子类
        site_header = '哈哈的管理网站' #配置自定义属性
    
    admin_site = MyAdminSite()# 实例化一个子类
    admin_site.register(Moment,MomentAdmin)# 用子类实例注册需要管理的模型类

    2、修改项目djangosite/urls.py

    from django.conf.urls import include
    
    from app.admin import admin_site
    urlpatterns = [
        url(r'^admin/', admin_site.urls), #替换之前的url.admin.urls
        url(r'^app/', include('app.urls')),
    ]

    3、效果

  • 相关阅读:
    Android App上架流程
    php字符串操作
    SpringBoot配置MongoDB多数剧源
    Spring boot使用influxDB总结
    Spring boot配置MongoDB以及Morphia踩坑记录
    使用Kubernetes的java-client实现Deployment的部署及更新操作
    Golang循环中调用go func参数异常分析
    git tag本地删除以及远程删除
    SpringBoot之GZip压缩,HTTP/2,文件上传,缓存配置
    Java服务使用Redis实现分布式全局唯一标识
  • 原文地址:https://www.cnblogs.com/Erick-L/p/7100129.html
Copyright © 2011-2022 走看看