Django-通过示例定制admin后台管理

后台管理改为中文

1
2
3
4
5
6
#  将 setting.py  配置选项设置为中文
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

更改前

更改后

更改后台标题和名称(title/header)

1
2
3
# admin.py 文件添加 修改网页title和站点header
admin.site.site_header = 'XXX平台-管理系统'
admin.site.site_title = 'XXX平台'

后台标题

创建Admin 超级管理员账号

1
python manage.py createsuperuser

将数据表添加到站点管理

  1. settings.py文件,INSTALLED_APPS 加入该app.
  2. 定义模型写入models.py
    1
    2
    3
    4
    from django.db import models
    lass Question(models.Model):
    question_text = models.CharField('问题描述',max_length=200)
    pub_date = models.DateTimeField('发布日期')
  3. 在该app目录的admin.py文件下注册
    1
    2
    3
    4
    5
    6
    from django.contrib import admin
    from .models import Question
    class QuestionAdmin(admin.ModelAdmin):
    pass

    admin.site.register(Question, QuestionAdmin)

更改APP的名称

写入该app的__init__文件,更改默认配置。

1
2
3
4
5
6
from django.apps import AppConfig

default_app_config = 'polls.PollsConfig'
class PollsConfig(AppConfig):
name = 'polls'
verbose_name='投票'

app名称更改前
app名称更改后

更改Model模型名称

1
2
3
4
5
6
7
8
class Question(models.Model):
# 在该模型定义加入内嵌类定义元数据👇
class Meta:
verbose_name = '问题'
verbose_name_plural = verbose_name

question_text = models.CharField('问题描述',max_length=200)
pub_date = models.DateTimeField('发布日期')

model表名称更改后

数据记录对象以字段显示

写入 admin.py 下的 QuestionAdmin类:

1
list_display = ('question_text', 'pub_date')

记录列表更新前以对象显示
记录列表更新后以字段显示

增加按照时间的过滤器

1
list_filter = ['pub_date']

新增日期过滤器

增加按照问题描述的模糊搜索

1
search_fields = ['question_text']

增加按照问题描述的模糊搜索

增加显示详细日期的筛选模块

1
date_hierarchy = 'pub_date'

增加显示详细日期的筛选模块

图像预览显示

文章作者: Spaceack
文章链接: http://spaceack.com/2016/03/05/2016-03-05-DjangoAdmin%E6%89%A9%E5%B1%95/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 丸子家的小云吞
支付宝打赏
微信打赏