Django小试身手之管理页admin使用

 

高可扩展性
向后兼容
低耦合,高内聚

项目的入口:manage.py
项目的配置:test1
项目的开发:自定义应用

虚拟环境:workon,mkvirtualenv,rmvirtualenv,deactivate
    pip list,pip install
django的命令:django-admin startproject
    python manage.py startapp
    python manage.py makemigrations
    python manage.py migrate
    python manage.py runserver
    python manage.py createsuperuser
admin的使用admin.py
    admin.site.register(模型类,admin类)
 

from django.contrib import admin

# Register your models here.
from django.contrib import admin
from models import *
#python3  .from models import *

class HeroInfoInline(admin.TabularInline):
    model = HeroInfo
    extra = 3

class BookInfoAdmin(admin.ModelAdmin):
    list_display = ['id','btitle','bpub_date']
    list_filter = ['btitle']
    search_fields = ['btitle']
    list_per_page = 10
    fieldsets = [
        ('base',{'fields':['btitle']}),
        ('super',{'fields':['bpub_date']})
    ]
    inlines = [HeroInfoInline]



admin.site.register(BookInfo,Boo

代码对应的页面如下图

自定义管理页面

  • Django提供了admin.ModelAdmin类
  • 通过定义ModelAdmin的子类,来定义模型在Admin界面的显示方式
class QuestionAdmin(admin.ModelAdmin):
    ...
admin.site.register(Question, QuestionAdmin)

列表页属性

  • list_display:显示字段,可以点击列头进行排序,先后顺序决定显示顺序,对应显示2,每列可以排序,有一个小眼睛决定排序功能是否可用。
list_display = ['pk', 'btitle', 'bpub_date']
  • list_filter:过滤字段,过滤框会出现在右侧,对应1,按照列中的值筛选
list_filter = ['btitle']
  • search_fields:搜索字段,搜索框会出现在上侧,对应2,按照关键字对指定列查找关键字
search_fields = ['btitle']
  • list_per_page:分页,分页框会出现在下侧,对应4,设置每一页显示多少条数据
list_per_page = 10

添加、修改页属性  

  • fields:属性的先后顺序  
fields = ['bpub_date', 'btitle']
  • fieldsets:属性分组
fieldsets = [
    ('basic',{'fields': ['btitle']}),
    ('more', {'fields': ['bpub_date']}),
]

 列表页面展示

 修改页面展示

 添加页面展示

 内嵌表格,显示如下图。

class HeroInfoInline(admin.StackedInline):
    model = HeroInfo
    extra = 3

 

 内嵌改为页表格,显示如下图。

class HeroInfoInline(admin.TabularInline)

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值