暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Django修改Admin后台页面布局

智趣智学 2020-03-22
580
修改Admin后台页面布局
一基础准备:
1编写模型类
class BlogArticles(models.Model):
title = models.CharField(max_length=30)
author = models.ForeignKey(User,related_name='blog_posts',on_delete=models.CASCADE)
body = models.TextField()
publish = models.DateTimeField(default=datetime.datetime.now())

class Meta:
ordering = ('-publish',)
def __str__(self):
return self.title
2映射模型类创建超级用户
python manage.py makemigrations stu
python manage.py migrate
python manage.py createsuperuser

二修改布局:
继承admin.ModelAdmin的子类可以使用以下方法改变Django内置后台的布局,但一定要切记,必须要将类进行注册后才会起作用,例如:admin.site.register(class1,class2,class3,class4,class5)

复制
from .models import BlogArticles

class BlogAdmin(admin.ModelAdmin):
#显示表格列表字段
list_display = ('title','author','publish')
#条件查询字段
list_filter = ('publish','author')
#搜索框根据某些字段进行查询
search_fields = ('title','body')
#显示外键信息,注意只有一个元素的元组需要加逗号
raw_id_fields = ('author',)
#以某个日期字段分层次查询
date_hierarchy = 'publish'
#先按时间排序,如果时间相同就再按作者倒序排列,减号代表倒序
ordering = ['-publish','author']

admin.site.register(BlogArticles,BlogAdmin)
复制


文章转载自智趣智学,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论