django学习笔记----admin详解

django admin是一种网页交互,方便管理后台数据的一个强大工具。

当我们数据库创建完毕之后,在进入admin页面之前,我们需要创建一个超级用户:

python manage.py createsuperuser    ###通过这条命令创建一个超级用户

当我们设置好用户名,邮箱,密码之后,我们就可以在地址栏输入127.0.0.1:8000/admin进入后台管理页面

django给我们提供了默认样式。但这些样式通常不能满足我们的需求,通常我们需要自定义样式。

要把app应用显示在后台管理,需要在admin.py文件中进行注册。

我们有两种注册方式:

方式一:
admin.site.register(Question,QuestionAdmin)

方式二:通过装饰器进行注册
admin.register(QuestionAdmin)

 自定义样式,也就是我们自定义一个类,让他继承ModelAdmin

from django.contrib import admin
#点表示当前目录
from .models import BlogType,Blog

# 装饰器注册,此外,我们还可以通过这种方式进行注册:admin.site.register(BlogType,BlogTypeAdmin)
@admin.register(BlogType)
#自定义类(自定义类一般是表名+Admin)
class BlogTypeAdmin(admin.ModelAdmin):
    #list_display表示需要在后台显示的字段(一般list_display后面不允许加多对多关系)
    list_display=("id","category")
   


@admin.register(Blog)
class BlogAdmin(admin.ModelAdmin):
    list_display=("title","category","author","create_time","update_time")
    #指定搜索的字段
    search_fields=("title","author")
    #定义排序字段,可以有多个排序,
    ordering=("-create_time",)
     #list_editable表示可编辑的字段
    lsit_editable=("category",)
    #指定每页显示多少条记录
    list_per_page=5;
    #指定列表过滤器
    list_filter=("category",)

  
list_editable ###设置可编辑的字段
ordering  ###设置可排序字段,可以设置多个字段,越往前,排序权重越高,在前面加负号表示降序排序
fk_fields  ####设置显示外键字段
list_display_links ###设置可以进入编辑界面的字段
date_hirearchy  ###详细时间分层筛选

一般ManyToManyField多对多字段采用过滤器;标题等文字采用搜索框,日期时间使用分层筛选。

admin后台管理默认是英文的,我们可以在setting.py中进行设置,将其修改为中文:

LANGUAGE_CODE="zh-hans"
TIME_ZONE="Asia/Shanghai"###修改时区

猜你喜欢

转载自www.cnblogs.com/evil-smile/p/9848725.html