在后台中查看数据
class UserModel(models.Model):
u_name = models.CharField(max_length=16, unique=True)
u_password = models.CharField(max_length=256)
def __str__(self):
return self.u_name
class Address(models.Model):
a_address = models.CharField(max_length=128)
a_user = models.ForeignKey(UserModel, on_delete=models.CASCADE, null=True, blank=True, related_name='address_list')
def __str__(self):
return self.a_address
个性化站点管理
若感觉默认的站点样式不能满足应用需求,则可以通过继承Django定义的管理员数据模型,模板,站点类来开发出个性化的管理员站点。注册的时候添加自己的管理类
class StudentAdmin(admin.ModelAdmin):
admin.site.register(Students,StudentAdmin)
list_display 显示字段
list_filter 过滤字段
search_fields 搜索字段
list_per_page 分页,每页多少条数据
orderng 排序规则
fieldsets = (
('班级', {fields:('sgrade')}),
('姓名',{fields:('sname')}),
fields 显示字段
exclude 不显示的字段
class UserAdmin(admin.ModelAdmin):
list_filter = 'u_name', 'u_password'
admin.site.register(UserModel, UserAdmin)
class UserAdmin(admin.ModelAdmin):
list_filter = 'u_name', 'u_password'
search_fields = 'u_name',
admin.site.register(UserModel, UserAdmin)
自定义显示字段
class UserAdmin(admin.ModelAdmin):
list_display = 'u_name', 'u_password'
list_filter = 'u_name', 'u_password'
search_fields = 'u_name',
admin.site.register(UserModel, UserAdmin)
class UserAdmin(admin.ModelAdmin):
list_display = 'u_name', 'u_password'
list_filter = 'u_name', 'u_password'
search_fields = 'u_name',
list_per_page = 3
admin.site.register(UserModel, UserAdmin)
class StudentAdmin(admin.ModelAdmin):
def sex(self):
if self.s_sex:
return '男'
else:
return '女'
sex.short_description = '性别'
list_display = 's_name', 's_age', sex
fieldsets = (
('基本信息', {'fields': ('s_name', 's_age', 's_sex')}),
('可选信息', {'fields': ('s_height', 's_weight')}),
admin.site.register(Student, StudentAdmin)
class StudentInfo(admin.TabularInline):
extra = 3
model = Student
class GradeAdmin(admin.ModelAdmin):
list_display = 'g_name', 'g_postion'
inlines = [StudentInfo]
自定义后台管理模板
覆盖系统模板的方式,在django/contrib/admin/templates/admin中,将需要重新定制的文件复制出来,在自己的工程中创建相对应的子目录,在settings.py中注入模板路径,子模板继承子复制的模板添加自己的代码。
自定义登录页面
原始文件路径:
E:\WorkSpace\python_xnhj\HelloRest\Lib\site-packages\django\contrib\admin\templates\admin\login.html
在templates文件夹中新建\admin\login.html
Django后台模板
github.com/vinta/aweso…