Django框架的使用教程--站点的管理[七]

Django的站点管理

创建超级管理员命令(密码要8位)

python manage.py createsuperuser

进入站点管理

Django框架的使用教程--站点的管理[七]

注册模型类

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo admin.site.register(GameInfo)

运行结果(可以直接在站点管理添加数据)

Django框架的使用教程--站点的管理[七]

admin.py代码

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo # 第一种自定义的站点管理的方法
# class GameInfoAdmin(admin.ModelAdmin):
# list_per_page = 2
#
# # 注册自定义的站点管理类
# admin.site.register(GameInfo, GameInfoAdmin) # 装饰器的自定义站点管理方法
@admin.register(GameInfo)
class GameInfoAdmin(admin.ModelAdmin):
list_per_page = 2

分页

list_per_page = 2

Django框架的使用教程--站点的管理[七]

设置顶部和底部显示

actions_on_top = True
actions_on_bottom = True

Django框架的使用教程--站点的管理[七]

自定义显示地段

list_display = ['id', 'gtitle', 'game_date','game_download']

Django框架的使用教程--站点的管理[七]

右侧栏过滤器

list_filter = ['id','gtitle']

Django框架的使用教程--站点的管理[七]

搜索框

search_fields = ['id']

Django框架的使用教程--站点的管理[七]

调整页面的编辑展示

fields = ['gtitle','game_date']

Django框架的使用教程--站点的管理[七]

分组显示

fieldsets = (
('基本', {'fields': ['gtitle', 'game_date']}),
('高级', {
'fields': ['game_download', 'gcommnet'],
'classes': ('collapse',) # 是否折叠显示
})
)

Django框架的使用教程--站点的管理[七]

关联对象

admin.py中创建一个HeroInfoInline类

class HeroInfoInline(admin.StackedInline):
  # 要编辑的对象
model = HeroInfo
  # 要附加的编辑数量
extra = 1

admin.py中的GameInfoAdmin类添加

inlines = [HeroInfoInline]

运行结果

Django框架的使用教程--站点的管理[七]

可以用表格的形式嵌入

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

运行结果

Django框架的使用教程--站点的管理[七]

调整站点信息

  • admin.site.site_header 设置网站页头
  • admin.site.site_title 设置页面标题
  • admin.site.index_title 设置首页标语
admin.site.site_header = '游戏中心'
admin.site.site_title = 'tx游戏'
admin.site.index_title = '欢迎来到tx游戏'

运行结果

Django框架的使用教程--站点的管理[七]

每个应用设置独立的名字

在apps.py中设置应用设置的名字

代码

from django.apps import AppConfig

class DjangoTestConfig(AppConfig):
name = 'django_test'
verbose_name = '游戏中心'

运行结果

Django框架的使用教程--站点的管理[七]

admin.py代码

from django.contrib import admin

# Register your models here.
from django.contrib import admin from django_test.models import GameInfo,HeroInfo # 第一种自定义的站点管理的方法
# class GameInfoAdmin(admin.ModelAdmin):
# list_per_page = 2
#
# # 注册自定义的站点管理类
# admin.site.register(GameInfo, GameInfoAdmin) class HeroInfoInline(admin.TabularInline):
model = HeroInfo
extra = 1 # 装饰器的自定义站点管理方法
@admin.register(GameInfo)
class GameInfoAdmin(admin.ModelAdmin):
# 分页
list_per_page = 2
# 设置顶部和底部
actions_on_bottom = True
actions_on_top = True
# 自定义显示的字段
list_display = ['id', 'gtitle', 'game_date','game_download']
# 过滤器
list_filter = ['id','gtitle']
# 搜索框
search_fields = ['id']
# 编辑显示字段
# fields = ['gtitle','game_date']
# 分组显示
fieldsets = (
('基本', {'fields': ['gtitle', 'game_date']}),
('高级', {
'fields': ['game_download', 'gcommnet'],
'classes': ('collapse',) # 是否折叠显示
})
) inlines = [HeroInfoInline] @admin.register(HeroInfo)
class HeroInfoAdmin(admin.ModelAdmin):
pass admin.site.site_header = '游戏中心'
admin.site.site_title = 'tx游戏'
admin.site.index_title = '欢迎来到tx游戏'

上传图片

安装图片操作包

pip install Pillow

配置

Django框架的使用教程--站点的管理[七]

模型类添加图片字段

# Django是主目录或者自定义其他目录(static_files)
image = models.ImageField(upload_to='Django', verbose_name='图片' ,null=True)

结果

Django框架的使用教程--站点的管理[七]

Django框架的使用教程--站点的管理[七]

上一篇:SpringMVC中定时器继承Task后无法对service注入问题


下一篇:阿里P7教你如何使用 Spring 配置动态数据源实现读写分离