提前注册用户 命令:python manage.py createsuperuser
在admin.py中,类注册的三种方法:
1.admin.site.register(models.User, UserAdmin)
2. 导入模块:from django.contrib import admin
在类上加装饰器 @admin.register(models.User)
以上两种方法都写类:class UserAdmin(admin.ModelAdmin):
3.不编写类:admin.site.register(models.User)
在models.py中友好性设置
class User(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=20, verbose_name="名字")
# 查询所有文章的时候,
# 把User object 对象转换为姓名,方便查看
def __str__(self):
return self.name
在admin.py后台管理中内容:
from django.contrib import admin
from . import models
# models中的类注册给后台管理平台
class ArticleAdmin(admin.ModelAdmin):
list_display = ['title']
list_filter = ['title']
# 注册第二种方法:加装饰器
@admin.register(models.User)
class UserAdmin(admin.ModelAdmin):
# 1.指定展示列表
list_display = ['name', 'age']
# 2.过滤器:指定过滤条件
list_filter = ['age', 'name']
# 3.指定分页数量
list_per_page = 3
# 4.增加用户的时候显示的属性,
# 和修改用户信息的时候显示的属性,
fields = ['name', 'age']
# 5.选中前面的选框,可以做一些动作,比如批量删除
actions_on_bottom = True
actions_on_top = False
# 6.设置搜索的选项
search_fields = ['name', 'age']
# 7.ordering设置默认排序字段,
# 负号表示降序,
# 先按照年龄降序,如果年龄相同的再按照名字降序
ordering = ('-age', '-name')
# 8.设置成链接,点进去可进行编辑
# list_display_links = ['name', 'age']
# 9.不用点进去,可直接编辑内容
# list_display_links和list_editable用一个即可,有冲突
list_editable = ['age']
# 注册第一种方法
# admin.site.register(models.User, UserAdmin)
admin.site.register(models.Article, ArticleAdmin)
admin.site.register(models.Article2, ArticleAdmin)