一、admin创建用户
python manage.py createsuperuser
二、admin显示数据库
可管理数据库(以网页的形式)
from django.contrib import admin
from apptest import models
admin.site.register(models.Account)
admin.site.register(models.Article)
admin.site.register(models.Tag)
三、admin自定义
class AccountAdmin(admin.ModelAdmin):
list_display = ('username', 'email', 'signature') # 展示列表
search_fields = ('username', 'email') # 支持搜索的内容
list_filter = ('email',) # 元组的形式, 在网页上展示过滤
list_display_links = ('username', 'email') # 点下这2个字段就跳到修改页
class ArticleAdmin(admin.ModelAdmin):
list_display = ('title', 'pub_date', 'account', 'read_count') # 定义表数据显示哪些列
list_per_page = 20 # 每页显示20条数据
# fields = ['title', 'account', 'pub_date'] # 决定对表进行修改时展示哪些字段
# fields = ['title', 'account', ('pub_date', 'read_count')] # 还可以多个字段显示在一行。
# exclude = ('read_count','tags') # 不展示哪些字段
# search_fields = ['account__username', 'title'] # 模糊查找
# readonly_fields = ('address_report',) # 只读字段
date_hierarchy = 'pub_date' # 按日期分类显示数据
fieldsets = (('文章相关', {
'fields': ('title', 'content'),
'classes': ('wide',),
}), ('高级', {
'classes': ('collapse',), # 收缩
'fields': ('account', 'read_count', 'pub_date', 'tags')
})) # 分组显示
filter_horizontal = ['tags', ] # filter_horizontal,filter_vertical 均用于多对多字段
autocomplete_fields = ['account', ] # 自动补全,外键查询数据多时,方便查找
radio_fields = {'account': admin.VERTICAL} # 把外键或choice字段由下拉框变成单选框
admin.site.register(models.Account,AccountAdmin)
admin.site.register(models.Article,ArticleAdmin)
admin.site.register(models.Tag)