首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当字段位于list_display中时,隐藏Django管理表中的编辑/添加/删除按钮

当字段位于list_display中时,隐藏Django管理表中的编辑/添加/删除按钮可以通过自定义admin.ModelAdmin类来实现。具体步骤如下:

  1. 创建一个自定义的admin.ModelAdmin类,并继承自django.contrib.admin.ModelAdmin。
  2. 在自定义的admin.ModelAdmin类中,重写get_actions方法,将编辑/添加/删除按钮的动作设置为空字典。
  3. 将自定义的admin.ModelAdmin类应用到需要隐藏按钮的模型上,通过@admin.register装饰器或admin.site.register方法注册模型。

下面是一个示例代码:

代码语言:txt
复制
from django.contrib import admin
from django.contrib.admin import ModelAdmin

from .models import YourModel

class YourModelAdmin(ModelAdmin):
    list_display = ('field1', 'field2', 'field3')  # 将需要显示的字段添加到list_display中

    def get_actions(self, request):
        actions = super().get_actions(request)
        if 'delete_selected' in actions:
            del actions['delete_selected']  # 隐藏删除按钮
        return actions

@admin.register(YourModel)
class YourModelAdmin(YourModelAdmin):
    pass

在上述代码中,我们创建了一个自定义的YourModelAdmin类,并继承自django.contrib.admin.ModelAdmin。在该类中,我们重写了get_actions方法,并将删除按钮的动作设置为空字典,从而隐藏了删除按钮。然后,我们通过@admin.register装饰器将自定义的YourModelAdmin类应用到YourModel模型上。

这样,在Django管理表中,当字段位于list_display中时,编辑/添加/删除按钮将被隐藏。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Django admin 一些有用的设置

Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。后台管理可以在各个app的admin.py文件中进行控制。以下是我最近摸索总结出比较实用的配置。...一般ManyToManyField多对多字段用过滤器;标题等文本字段用搜索框;日期时间用分层筛选。 过滤器如果是外键需要遵循这样的语法:本表字段__外键表要显示的字段。...3、一对多关联 还有一种比较特殊的情况,父子表的情况。编辑父表之后,再打开子表编辑,而且子表只能一条一条编辑,比较麻烦。 这种情况,我们也是可以处理的,将其放在同一个编辑界面中。...4.设置只读字段  在使用admin的时候,ModelAdmin默认对于model的操作只有增加,修改和删除,但是总是有些字段是不希望用户来编辑的。...9.自定义列表字段 上面的一对多和多对多可以数据编辑中显示,但在列表中没有显示。有时还需要显示一些其他东西。例如两个字段相乘计算结果等等。这些都可以通过自定义列表字段处理和显示。

2.6K70
  • Django admin管理工具的使用、定制及源码解析

    4. list_select_related,列表时,连表查询是否自动select_related 5. list_editable,列表时,可以编辑的列 @admin.register(models.UserInfo...BlogAdmin(admin.ModelAdmin): #listdisplay设置要显示在列表中的字段(id字段是Django模型的默认主键) list_display...#设置哪些字段可以点击进入编辑界面 list_display_links = ('id', 'caption') 2、筛选器 筛选器是Django后台管理重要的功能之一,而且Django...3、一对多关联 还有一种比较特殊的情况,父子表的情况。编辑父表之后,再打开子表编辑,而且子表只能一条一条编辑,比较麻烦。 这种情况,我们也是可以处理的,将其放在同一个编辑界面中。...4.设置只读字段 在使用admin的时候,ModelAdmin默认对于model的操作只有增加,修改和删除,但是总是有些字段是不希望用户来编辑的。

    4.1K40

    Django项目于之在线教育平台网站的实战开发(完结)

    2.xadmin后台表数据设定默认字段排序 比如当用户点击查看课程列表时,整个列表数据是乱序的,比如点击数 想让课程列表中的数据按照点击数的倒序进行排序,就需要在对应的注册类中添加如下ordering...的使用 在xadmin后台管理中为课程添加章节信息时,不能在增加课程页面直接添加,而是需要退出课程到章节字段中去选择课程后才能添加课程的章节信息,在xadmin中也能像django admin那样去做到在一个页面直接添加外键的信息...7.自定义列表返回数据,同一个model注册两个管理器 在之前主页动态数据展示时,因公开课程栏中嵌套了轮播图,就需要在课程所在的模型类Course添加is_banner是否轮播字段 如果想在课程管理中产生另一个表数据...,而不需要点击进入课程详情中进行编辑 list_editable = ['name', 'degree'] 刷新课程列表页面,则指定可编辑的name字段以及degree字段则出现编辑按钮,点击按钮可直接进行编辑保存了...= "章节数" 在课程注册类CourseAdmin中list_display属性中添加该方法名,对应django来说判断该字段为方法名时,则会去调用此方法 list_display = ['name'

    1.3K30

    零基础使用Django2.0.1打造在线教育网站(二十六):xadmin的进阶开发

    ,具体包括自定义icon,默认排序,字段只读,字段隐藏,搜索框,inlines,一张表分两个model来进行管理添加数据,直接列表页编辑,列表页显示章节数,显示自定义的html代码,列表页定时刷新,字段联动功能...首先需要把我们在前面当Debug=False时,修改的以下代码全部删除掉: **** 为了解决上述问题,我们这样做:打开eduline/settings.py文件,新增代码如下: STATIC_ROOT...打开organization/adminx.py文件,在CourseOrgAdmin函数里面添加一行代码: # 搜索框,当课程数据量过大时,有课程指向它,会以ajax方式加载 relfield_style...: [1240] 同时也支持多个添加,比方再添加一个课程资源: [1240] 一张表分两个model来进行管理 录播课程与非轮播课程可以分开管理,但是最好是在一张表里显示。...= ['fav_nums'] # # 注意字段只读和字段隐藏是冲突的,不允许设置一个字段只读同时隐藏 # 课程直接添加章节,课程资源 inlines = [LessonInline

    1.3K20

    Django Admin后台管理:高效开发与实践

    查看、编辑和删除记录:点击列表中的记录,可以查看详细信息并进行编辑或删除操作。 通过这一章的学习,你将对Django Admin有基本的了解,并能够开始使用它来管理你的数据模型。...配置选项:在Admin类中,可以设置各种选项,如list_display用于指定列表页面显示的字段,search_fields用于添加搜索框等。...2.3 字段和字段集的管理 字段管理:可以在Admin类中使用fields或fieldsets属性来控制编辑页面中字段的显示。...添加操作按钮:使用actions属性来添加批量操作,如批量删除或标记为已读。 2.5 使用内联模型 内联模型允许在父模型的编辑页面中直接编辑相关联的模型。...用户模型:Django提供了一个默认的用户模型,包含用户名、密码和电子邮件等字段。 3.2 用户、组和权限的管理 用户管理:在Django Admin中,可以创建、编辑和删除用户。

    26010

    35.Django2.0文档

    3.设置字段可选  你或许会发现管理工具有个限制:编辑表单需要你填写每一个字段,然而在有些情况下,你想要某些字段是可选的。 举个例子,我们想要Author模块中的email字段成为可选,即允许不填。...虽然管理工具因此添加了注释(help_text),但是当它有几百个选项时,它依然显得笨拙。 更好的办法是使用 filter_horizontal。...点击那个图标将会弹出一个窗口,在那里你可以选择想要添加的publisher。  第七章 用户、用户组和权限 因为你是用超级用户登录的,你可以创建,编辑和删除任何对像。...超级用户标志:它赋予用户在管理界面中添加、修改和删除任何项目的权限。 如果一个用户帐号有这个标          志,那么所有权限设置(即使没有)都会被忽略。...普通的活跃,非超级用户的管理用户可以根据一套设定好的许可进入。 管理界面中每种可编辑的对象(如:books、authors、publishers)都有三种权限:创建许可,编辑许可和删除许可。

    11.3K100

    美多商城项目(十)

    3.Xadmin Xadmin是Django的第三方扩展,比Django自带的admin站点使用方便。我们可以使用此管理站点进行网站管理。...list_display 控制列表展示的字段 ? search_fields 控制可以通过搜索框搜索的字段名称,xadmin使用的是模糊查询 ? list_filter 可以进行过滤操作的列 ?...ordering 默认排序的字段 readonly_fields 在编辑页面的只读字段 ? exclude 在编辑页面隐藏的字段 list_editable 在列表页可以快速直接编辑的字段 ?...在Django的原生admin站点中,如果想要在站点保存或删除数据时,补充自定义行为,可以重写如下方法: save_model(self,request,obj,form,change) delete_model...服务器 5.1.静态文件 当Django运行在生产模式时,将不再提供静态文件的支持,需要将静态文件交给静态文件服务器。

    1.6K10

    django 1.8 官方文档翻译: 1-2-2 编写你的第一个Django应用,第2部分

    哲理 为你的员工或客户生成添加、修改和删除内容的管理性网站是个单调乏味的工作。 出于这个原因,Django 根据模型完全自动化创建管理界面。...既然你添加了新应用到 INSTALLED_APPS 中,数据库表就需要更新。 编辑你的 mysite/urls.py 文件并且将有关管理的行取消注释 – 共有三行取消了注释。...这样的话你就需要在注册对象 时告诉 Django 对应的配置。 让我们来看看如何在编辑表单上给字段重新排序。...如果你在窗口中添加了一 poll 并点击了 “Save” 按钮, Django 会将 poll 保存至数据库中并且动态的添加为你正在查看的 “Add choice” 表单中的 已选择项。...当 Django 呈现 admin/base_site.html 时,根据模板语言生成最终的 HTML 页面。

    2.5K40

    从0开始做系统

    前面已经写了如何做接口,那是方便调用的。现在写个如何做后台系统,是方便操作的。 Django自带的后台管理是Django明显特色之一,可以让我们快速便捷管理数据。...在app中的models中定义好字段。...list_select_related,列表时,连表查询是否自动select_related list_editable,列表时,可以编辑的列 search_fields,列表时,模糊搜索的功能 date_hierarchy...,列表时,对Date和DateTime类型进行搜索 inlines,详细页面,如果有其他表和当前表做FK,那么详细页面可以进行动态增加和删除 action,列表时,定制action中的操作 定制HTML...模板 raw_id_fields,详细页面,针对FK和M2M字段变成以Input框形式 fields,详细页面时,显示字段的字段 exclude,详细页面时,排除的字段 readonly_fields,

    1.4K30

    Django管理应用程序的高级配置在BookInstance模型的运用【Django】

    Django管理应用程序 Django管理应用程序可以使用的模型自动构建可用于创建、查看、更新和删除记录的站点区域。这可以在开发过程中节省大量时间,使测试模型和查看是否有正确的数据变得容易。...python3 manage.py runserver 高级配置 Django使用注册模型信息创建基本管理站点: 每个模型都有一个单独的记录列表,由__ str__()方法创建并链接到详细视图/表单以进行编辑的字符串...默认情况下,视图顶部有一个操作菜单,可用于批量删除记录。 用于编辑和添加记录的模型详细记录表单包含模型的所有字段,这些字段按其声明顺序垂直排列。 可以进一步自定义界面,使其更易于使用。...向记录中添加相关字段以允许内联编辑(例如,在创建作者记录时添加添加和编辑书本记录的功能)。...,表上只能显示这些字段。

    1.7K20

    Python:Django搭建博客

    media 这两个文件夹 配置 pycharm 运行参数 配置完成后点击 pycharm 中的运行按钮,在浏览器中输入 127.0.0.1:8000 访问,出现小火箭升空表示 Django...安装成功, 访问 Django-admin 界面, 在浏览器中输入 127.0.0.1:8000/admin,看到 Django 管理,需要输入用户名密码,输入用户名密码后可以跳转到 Django 管理页面表示...Django-admin 设置成功 数据库表分析 文章表 字段 类型 备注 id PrimaryKey 主键 title CharField 标题 create_time...管理后台,查看模型是否可以被管理,尝试点击添加与修改,没问题就说明注册成功 集成 Markdown 很多人喜欢用 markdown 格式写博客,我们可以通过集成 Django-mdeditor 来实现这个功能...再次进入 admin,选择文章修改就可以看到集成的 markdown 编辑器了 实现视图 首先找到一套你喜欢的模版,将模版下载下来,html 部分放入 templates 中,其他静态文件放入 static

    57000

    Django流程_菜鸟裹裹收费标准

    _init__.py settings.py urls.py wsgi.py 三、基本操作 1、设计表机构 a、班级表结构 表名:grade 字段: b、学生表结构 表名:students 字段: 2、...、概述: 内容发布 公共访问 b、配置Admin应用 c、创建管理员用户 d、汉化 10、管理数据表 a、修改admin.py文件 b、自定义管理页面 属性说明: list_display list_filter...班级表结构 表名:grade 字段: 班级名称:gname 成立时间:gdate 女生总数:ggirlnum 男生总数:gboynum 是否删除:isDelete b、学生表结构 表名:students...web服务器,仅仅在开发测试中使用 9、Admin站点管理 a、概述: 内容发布 负责添加、删除、修改内容 公共访问 b、配置Admin应用 在settings.py文件中的INSTALLED_APPS...中添加“django.contrib.admin”,默认是已经添加好的 c、创建管理员用户 执行:python manage.py createsuperuse 依次输入用户名、邮箱、密码 创建后在网址输入账号密码

    1.3K30

    Django Admin 后台自定制技巧

    Django最强大的部分之一是自动管理界面。它从模型中读取元数据,以提供一个快速的,以模型为中心的界面,受信任的用户可以在其中管理您网站上的内容。管理员的建议用法仅限于组织的内部管理工具。...Django 自动化运维" # list_display = 你需要展示的字段应该写在这里,此处是数据库中的字段 list_display = ("hostname","hostaddr...Django 自动化运维" # list_display = 你需要或者想要展示在页面中的字段 list_display = ("HostName","HostAddr","HostModel...Django 管理平台" # list_display = 你需要或者想要展示在页面中的字段 list_display = ("HostName","HostAddr","DataTime...,就是无法修改的字段 readonly_fields = ("HostAddr",) # list_display_links 指定点击HostAddr进入编辑状态 list_display_links

    1.4K20

    Django Admin后台管理

    Django通过简单配置就可以实现数据模型的后台管理。一般管理界面是给系统管理员使用的,以完成数据的CURD。 1.本地化 将语言和时区本地化,修改settings.py文件。...在admin.py创建一个admin.ModelAdmin的子类,在注册模型类时调用admin.site.register方法时,在第二个参数中指定自定义的模型管理类。...添加get_name方法 list_display = ['id', 'name', 'addr', 'get_name'] 显示效果如下 注:属性列在后台管理页面中是可以进行排序的,而方法列是不能排序的...5.其他 富文本编辑器 后台管理员如果需要在后台编辑带样式的文字,如编辑对商品的详细信息描述,就需要使用富文本编辑器。这里以tinymce为例在Django Admin后台中如何使用富文本编辑器。...url(r'^tinymce/', include('tinymce.urls')), # 富文本编辑器 随后就可在模型类中使用该字段,在应用的models.py中添加如下内容 from django.db

    2.8K10

    37.Django1.11.6文档

    换句话说,Django会管理这些数据表的生命周期。 如果是False,Django 就不会为当前模型创建和删除数据表。 ...在与浏览器验证不兼容的自定义小部件中覆盖此方法。 例如,由隐藏的textarea元素支持的WSYSIWG文本编辑器小部件可能希望始终返回False,以避免在隐藏字段上进行浏览器验证。...>标签 一个处理多个隐藏的Widget 的Widget,用于值为一个列表的字段。 choices 当表单字段没有choices 属性时,该属性是随意的。 ...默认情况下它们都已经添加,除非你手动调整过设置,否则不需要自己添加。 确定你的应用中的哪些模型在管理后台界面中应该可以编辑。...当一个用户登入时,Django 添加一行到django_session 数据库表中。 每次会话数据更新时,Django 将更新这行。 如果用户手工登出,Django 将删除这行。

    24.4K80

    django2实战2.创建博客应用创建应用文章表的字段设计激活应用开启后台将post模型注册到后台自定义文章显示字段增加可选操作

    而淘宝下的聚划算属于一个应用 在django中,一个应用是由模型、视图、模板以及url配置组成的。...: title: 字段定义为CharField, 对应sql中的varchar类型,max_length指定了该字段的最大长度 slug: url标识,文章的url格式为:yyyy/mm/dd/slug.../, unique_for_date 表示slug与日期的组合是惟一的,即每篇文章的url不可重复 author: 文章作者,此字段是外键,与user中相关联,当user表的用户删除时,该用户发表的文章也将被删除...: 文章更新时间,当文章被更新时,会自动生成更新的时间 status: 文章状态,从STATUS_CHOICES中选取状态值 关于字段类型的更多使用,参见官方文档 激活应用 根据models.py字义的字段执行数据迁移...提示找不到blog应用,这是因为每添加一个应用,都需要到settings.py中激活 mysite/settings.py INSTALLED_APPS = [ 'django.contrib.admin

    1.1K30
    领券