1、什么是admin后台管理
- Django提供了比较完善的后台管理数据库的接口,可供开发过程中调用和测试使用
- Django会搜集所有已注册的模型类,为这些模型类提供数据管理界面,供开发者使用
2、admin配置步骤
2.1、创建后台管理账号
创建后台管理账号-该账号为管理后台最高权限账号
python manage.py createsuperuser # 创建admin后台管理用户
3、登录后台管理页面
浏览器访问http://127.0.0.1:8000/admin/
4、注册自定义模型类
若要自己定义的模型类也能在 /admin 后台管理界面中显示和管理,需要将自己的类注册到后台管理界面
注册步骤:
- 在应用app中的 admin.py 文件中导入注册要管理的 模型models类
- 调用admin.site.register 方法进行注册
示例:
```python from django.contrib import admin from . import models # 导入注册 要管理的 models模型 (或者直接导入 里面的 类)
admin.site.register(models.Category) # 调用方法 注册这个模型类
<a name="BxJnS"></a># 5、模型管理器类**作用:**<br />为后台管理界面添加便于操作的新功能<br />**说明:**<br />后台管理器类须继承来自 django.contrib.admin 里的 ModelAdmin 类<a name="xMkBp"></a>## 5.1、使用方法1.在 应用app / admin.py 文件里定义模型管理器类```pythonfrom django.contrib import adminclass XxxManager(admin.ModelAdmin):......
2.绑定模型类和注册模型管理器
import hashlibfrom django.contrib import admin# Register your models here.from . import models# 定义模型管理器类class XxxManager(admin.ModelAdmin):......# 绑定 模型类 和 注册模型管理器admin.site.register(models.Article,XxxManager) # 修改后
5.2、模型管理器使用案例
import hashlibfrom django.contrib import adminfrom . import models# 新增代码######################################################### 定义模型管理器类class ArticleAdmin(admin.ModelAdmin):list_display = ['id', 'title', 'category', 'update_time', 'create_time']# 列表显示哪些字段search_fields = ['title']# 添加搜索框:指定搜索的时候按照哪些字段进行搜索【支持模糊查询】list_filter = ["category"]# 添加过滤器:根据哪些字段搜索\def md5(s):s = str(s)m = hashlib.md5(s.encode())return m.hexdigest()def reset_password(modeladmin,request,query_set):for query in query_set:query.password = md5(12345)query.save()reset_password.short_description="重置密码"# 定义模型管理器类class UserAdmin(admin.ModelAdmin):actions = [reset_password]# 添加动作:重置密码########################################################admin.site.register(models.Category) # 调用方法 注册这个模型类admin.site.register(models.Article,ArticleAdmin) # 绑定模型类和注册模型管理器admin.site.register(models.User,UserAdmin) # 绑定模型类和注册模型管理器
模型管理器类的常用属性
- list_display 去控制哪些字段会显示在 admin 的修改列表页面中
- list_display_links 可以控制 list_display 中的字段是否应该链接到对象的“更改”页面
- list_filter 设置激活 admin 修改列表页面右侧栏中的过滤器
- search_fields 设置启用 admin 更改列表页面上的搜索框
- list_editable 设置为模型上的字段名称列表,这将允许在更改列表页面上进行编辑


