当前位置: 首页 > 编程笔记 >

Django后台admin的使用详解

谷梁浩思
2023-03-14
本文向大家介绍Django后台admin的使用详解,包括了Django后台admin的使用详解的使用技巧和注意事项,需要的朋友参考一下

简述:

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是可以自定义添加的,比如这次要介绍