简述:
Django的admin可以提供一个强大的后台管理功能,可以在web界面对数据库进行操作,我们需要修改admin.py将要操作的数据表注册到后台管理中
创建数据表:
为了便于演示,我们在models.py中创建一张img数据表规则
图中 verbo_name 是在admin界面显示表字段的名称,定义的class Meta中的verbo_name是在admin界面显示的表名
修改admin.py文件
from django.contrib import admin from app1 import models # Register your models here. admin.site.register(models.img) #将表在admin中注册
启动服务,进入界面
python manage.py makemigrations #生成创建数据表py文件 python manage.py migrate #执行py文件,更新数据库 python manage.py runserver #启动服务
打开浏览器,访问 http://127.0.0.1 :8000/admin
输入设置的账号密码,进入界面
默认的功能可以对表进行简单的增删改查,如果需要批量更新之类的操作,则需要定制相应动作
自定义内容显示:
我们选择进入我们创建的表的界面的时候,默认显示的内容是object
可以在models.py中的相应表写下定义__str__的字段
效果如下
默认显示的内容只有一个,我们可以通过定义ModelAdmin中的list_display来修改它:
from django.contrib import admin from app1.models import img # Register your models here. class imgAdmin(admin.ModelAdmin): list_display = ('title','summary','file') admin.site.register(img,imgAdmin)
点击一条数据后,将默认显示每个字段不是一个AutoField并且editable=True在单个字段集中具有与模型中定义的字段相同的顺序。
我们可以定义ModelAdmin中的fields或exclude来修改它:
class imgAdmin(admin.ModelAdmin): list_display = ('title','summary','file') fields = ('title',)
exclude跟fields相反
自定义动作
默认动作只有删除一项
我们可以通过ModelAdmin自定义
def change_up(modeladmin, request, queryset): #定义动作 queryset.update(stat='1') change_up.short_description = "up" #重写动作显示名称 def change_down(modeladmin, request, queryset): queryset.update(stat='0') change_down.short_description = "down" class imgAdmin(admin.ModelAdmin): list_display = ('title','summary','file','stat') fields = ('title',) actions = [change_up,change_down] #绑定动作
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
我在pip上也有类似的问题,用“python3-m”修复了这个问题,但现在在安装Django之后,我想做一个新项目。 当我尝试运行“django admin startproject…”我得到“bash:django-admin:command-not-found”。 我不知道我是否应该提到它,但是,这是在一个虚拟电视。 python3-m pip冻结:Django==3.0.6 回声$PATH:
本文向大家介绍django admin 后台实现三级联动的示例代码,包括了django admin 后台实现三级联动的示例代码的使用技巧和注意事项,需要的朋友参考一下 在刚进公司的时候,要写一个需求,使用django的admin站点管理,实现一个二级联动的功能,因为要用到django自带的页面,因为不是自定义的,不能直接添加js代码。根据我自己的研究简单的记录一下大概步骤。 项目创建流程略过,这里
本文向大家介绍Django Admin后台添加数据库视图过程解析,包括了Django Admin后台添加数据库视图过程解析的使用技巧和注意事项,需要的朋友参考一下 你通过以下语句,创建了一个数据库视图: 它包含所有Hero和Villain对象的名称。Villain对象的的ID被设置都加上10000,因为Hero对象的数量不会超过这个数字。 sqlite> select * from entitie
本文向大家介绍Python后台开发Django的教程详解(启动),包括了Python后台开发Django的教程详解(启动)的使用技巧和注意事项,需要的朋友参考一下 Django版本为:2.1.7 Python的web框架,MTV思想 MVC Model(模板文件,数据库操作) view(视图模板文件 )controller(业务处理) MTV Model(模板文件,数据库操作) templa
本文向大家介绍Django自定义用户表+自定义admin后台中的字段实例,包括了Django自定义用户表+自定义admin后台中的字段实例的使用技巧和注意事项,需要的朋友参考一下 1.自定义用户表 注意事项 必须在settings中配置AUTH_USER_MODEL这个字段 2.在models文件中编写UserModel类 添加完成后,在当前app的admin文件中注册 3.测试 编写完上述步骤后
本文向大家介绍django admin后台添加导出excel功能示例代码,包括了django admin后台添加导出excel功能示例代码的使用技巧和注意事项,需要的朋友参考一下 Django功能强大不单在于他先进的编程理念,很多现有的功能模块更是可以直接拿来使用,比如这个牛掰的admin模块,可以作为一个很好的信息登记管理系统。 admin模块中的actioin是可以自定义添加的,比如这次要介绍