高可扩展性
向后兼容
低耦合,高内聚
项目的入口: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']}),
]
列表页面展示
修改页面展示
扫描二维码关注公众号,回复:
9444554 查看本文章
添加页面展示
内嵌表格,显示如下图。
class HeroInfoInline(admin.StackedInline):
model = HeroInfo
extra = 3
内嵌改为页表格,显示如下图。
class HeroInfoInline(admin.TabularInline)