Admin站点

内容发布的部分由网站的管理员负责查看、添加、修改、删除数据,开发这些重复的功能是一件单调乏味、缺乏创造力的工作,为此,Django能够根据定义的模型类自动地生成管理模块。

在第一部分对管理站点做了简单介绍,现在做详细讲解。在Django项目中默认启用Admin管理站点。

1)准备工作:创建管理员的用户名和密码。

python manage.py createsuperuser

按提示填写用户名、邮箱、密码。

admin

2)使用:在应用的admin.py中注册模型类

例:打开booktest/admin.py文件,注册地区模型。

from django.contrib import admin
from booktest.models import *

admin.site.register(AreaInfo)

3)输入如下网址:

http://127.0.0.1:8000/admin/

按提示填写用户名、密码,点击“Log in”按钮登录。

admin

登录成功后,可以看到AreaInfos,可以进行增加、修改、删除、查询的管理。

admin

列表页显示效果如下图:

admin

控制管理页展示

类ModelAdmin可以控制模型在Admin界面中的展示方式,主要包括在列表页的展示方式、添加修改页的展示方式。

1)在booktest/admin.py中,注册模型类前定义管理类AreaAdmin。

class AreaAdmin(admin.ModelAdmin):
    pass

管理类有两种使用方式:

  • 注册参数
  • 装饰器

注册参数:打开booktest/admin.py文件,注册模型类代码如下:

admin.site.register(AreaInfo,AreaAdmin)

装饰器:打开booktest/admin.py文件,在管理类上注册模型类,代码如下:

@admin.register(AreaInfo)
class AreaAdmin(admin.ModelAdmin):
    pass

接下来介绍如何控制列表页、增加修改页展示效果。