美文网首页
Django网站(四):博客APP——admin管理页面编写

Django网站(四):博客APP——admin管理页面编写

作者: 古法皮卡丘 | 来源:发表于2019-02-15 00:35 被阅读0次

Django网站(四):博客APP——admin管理页面编写

在完成了blog的model设计之后,我打算首先完成admin管理页面。需要管理的三个model是分类(Category)、文章(Article)和资源(Resource)。

管理页面简介

每个model的管理页面主要有两种形式:一是model下所有记录的列表页面,而是某一条记录的详情页面。只要将一个model注册到admin,这两个页面就会自动建立。将model注册到admin的方法有两种:装饰器和注册函数。我更偏爱装饰器的写法,另一种写法请阅读Django admin site官方文档

from django.contrib import admin
from .models import Article

@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
    pass

如上图就完成了model的注册。通过在ArticleAdmin类中设置各种类属性、重写类方法,可以调整列表页面和详情页面的表现。我在这里只讨论对我有用的一些设置,其他设置请阅读Django admin site官方文档

列表页面

列表页面

如图所示,列表页面主要有三块元素:action(图中1)、list(图中2)和filter(图中3)。接下来我会介绍这三块的功能和相关设置。

list

这是列表页面的主体部分。它显示了model下的一部分记录。和这一部分相关的类属性、类方法如以下两表所示。

属性 变量类型 说明
list_display list[str] 哪些字段会被显示在列表中
list_select_related list[str] 通过ForeignKey等获取的字段
list_editable list[str] 哪些字段可以在列表页面中直接编辑
list_display_links list[str] 哪些字段在点击后可以跳转到对应的详情页面
方法 参数 说明
get_queryset request 动态控制哪些记录会显示出来,通常与权限控制结合
get_list_display request 动态控制哪些字段会显示出来,通常与list_display结合

相关文章

网友评论

      本文标题:Django网站(四):博客APP——admin管理页面编写

      本文链接:https://www.haomeiwen.com/subject/cojueqtx.html