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

Django管理员TabularInline - 是否有一种添加自定义html列的好方法?

Django管理员TabularInline是Django框架中的一个功能,用于在管理后台中以表格形式展示与主模型相关联的子模型数据。在默认情况下,TabularInline只能展示子模型的字段数据,无法直接添加自定义HTML列。然而,我们可以通过自定义Django的模板来实现添加自定义HTML列的需求。

以下是一种添加自定义HTML列的方法:

  1. 创建一个自定义的TabularInline子类,并在该子类中定义需要展示的字段以及自定义的HTML列。
  2. 在子类中重写get_fields方法,将自定义的HTML列添加到返回的字段列表中。
  3. 在子类中重写get_fieldsets方法,将自定义的HTML列添加到返回的字段集合中。
  4. 在子类中重写get_formset方法,将自定义的HTML列添加到返回的表单集合中。
  5. 在子类中重写get_extra方法,根据需要设置额外的表单数量。
  6. 在子类中重写get_readonly_fields方法,根据需要设置只读字段。
  7. 在子类中重写get_max_num方法,根据需要设置最大表单数量。
  8. 在子类中重写get_min_num方法,根据需要设置最小表单数量。
  9. 在子类中重写get_template方法,指定自定义的模板文件。
  10. 在子类中重写get_field_template方法,指定自定义的字段模板文件。
  11. 在子类中重写get_formset_kwargs方法,根据需要设置表单集合的参数。
  12. 在子类中重写get_extra_form_kwargs方法,根据需要设置额外表单的参数。
  13. 在子类中重写get_formset_factory_kwargs方法,根据需要设置表单集合工厂的参数。

通过以上步骤,我们可以实现在Django管理员TabularInline中添加自定义HTML列的需求。

请注意,以上方法仅适用于Django框架,具体实现方式可能因版本而异。对于更多关于Django管理员TabularInline的详细信息,您可以参考腾讯云的Django文档:Django官方文档

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

相关·内容

Django 1.10中文文档-第一个应用Part7-自定义管理站点

为此,Django提供了一种扁平化显示方式,你仅仅只需要将ChoiceInline继承类改为admin.TabularInline: # polls/admin.py class ChoiceInline...使用TabularInline代替`StackedInline``,相关对象将以一种更紧凑表格形式显示出来: ? 注意,这样多了一个"删除"选项,它允许你删除已经存在Choice....你可以点击其中一表头来让列表按照这值来进行排序,但是was_published_recently这表头不行,因为Django不支持按照随便一个方法输出进行排序。...要定制管理站点首页,需要重写admin/index.html模板,就像前面修改base_site.html模板方法一样,从源码目录拷贝到你指定目录内。...该变量包含了所有已经安装Django应用。你可以硬编码链接到指定对象admin页面,使用任何你认为方法,用于替代这个app_list。

3.6K60

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

Django 是在新闻编辑室环境下编写,“内容发表者”和“公共”网站之间 非常明显界线。网站管理员使用这个系统来添加新闻、事件、体育成绩等等, 而这些内容会在公共网站上显示出来。...Django 解决了为网站管理员创建统一 管理界面用以编辑内容问题。 管理界面不是让网站访问者使用。它是为网站管理员准备。...不同模型字段类型 (DateTimeField, CharField) 会对应相应 HTML 输入控件。 每一种类型字段 Djaong 管理网站都知道如何显示它们。...使用了 TabularInline 后(而不是 StackedInline) ,基于表格式下相关 对象被显示更紧凑了: 需要注意个额外 “Delete?”...– 除了 was_published_recently 这一,因为不支持根据方法输出内容排序。

2.5K40
  • python Django 管理站点1.3

    为此,Django会根据定义模型类完全自动地生成管理模块 使用django管理 创建一个管理员用户 python manage.py createsuperuser,按提示输入用户名、邮箱、密码 启动服务器...BookInfo数据进行增删改查操作 问题:如果在str方法中返回中文,在修改和添加时会报ascii错误 解决:在str()方法中,将字符串末尾添加“.encode('utf-8')” 自定义管理页面...): ... admin.site.register(Question, QuestionAdmin) 列表页属性 list_display:显示字段,可以点击头进行排序 list_display...模型类相同 方式二:关联注册 按照BookInfor注册方式完成HeroInfo注册 接下来实现关联注册 from django.contrib import admin from models...class HeroInfoInline(admin.TabularInline) 布尔值显示 发布性别的显示不是一个直观结果,可以使用方法进行封装 def gender(self): if

    49520

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

    大家,又见面了,我是你们朋友全栈君。...、概述: 内容发布 公共访问 b、配置Admin应用 c、创建管理员用户 d、汉化 10、管理数据表 a、修改admin.py文件 b、自定义管理页面 属性说明: list_display list_filter...字段: 学生姓名:sname 学生性别:sgender 学生年龄:sage 学生简介:scontend 所属班级:sgrade 是否删除:isDelete 2、配置数据库 注意:Django...中添加django.contrib.admin”,默认是已经添加 c、创建管理员用户 执行:python manage.py createsuperuse 依次输入用户名、邮箱、密码 创建后在网址输入账号密码...如发现本站涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.3K30

    Django安装及简单使用1.5

    'django.contrib.staticfiles', 'TestModel', ] 激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置,我们只需去掉注释即可。...管理登录界面 设置超级管理员 python manage.py createsuperuser ?...访问效果 自定义表单 我们可以自定义管理页面,来取代默认页面。比如上面的 "add" 页面。我们想只显示 name 和 email 部分。...image.png 内联(Inline)显示 上面的 Contact 是 Tag 外部键,所以外部参考关系。 而在默认页面显示中,将两者分离开来,无法体现出两者从属关系。...image.png 我们也可以自定义该页面的显示,比如在列表中显示更多栏目,只需要在 ContactAdmin 中增加 list_display 属性: from django.contrib

    95170

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

    激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置, from django.conf.urls import url from django.contrib import admin...4. list_select_related,列表时,连表查询是否自动select_related 5. list_editable,列表时,可以编辑 @admin.register(models.UserInfo...唯一区别就是 这种方法 是登录http://ip/admin/ 站点和用户组在一起 ? 而第一种方法是分开。 5.通过当前登录用户过滤显示数据 官方文档介绍: ?..., 根据数据单截止日期和当前日期判断是否过期,并对数据库进行更新""" import datetime from django.utils.html import format_html...而admin为我们提供了对应方法:get_urls 这个方法可以让我们临时添加一个url,并且可以防止手动输入此url实现操作。

    4K40

    Django-admin管理工具

    激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置, from django.conf.urls import url from django.contrib import admin...urlpatterns = [ url(r'^admin/', admin.site.urls), ] 当这一切都配置后,Django 管理工具就可以运行了。...,如:  1. list_display,列表时,定制显示。...4. list_select_related,列表时,连表查询是否自动select_related。 5. list_editable,列表时,可以编辑 。...如果在程序运行期间,很多地方都需要使用配置文件内容,也就是说,很多地方都需要创建 AppConfig 对象实例,这就导致系统中存在多个 AppConfig 实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多情况下

    2.1K20

    Django教程第1章 | 快速入门 | 基础知识

    模板引擎: Django 使用模板引擎来生成 HTML,这使得前端和后端代码分离更加容易。Django 模板语言允许开发者在模板中嵌入动态内容。...自动化 admin 界面: Django 自动生成管理后台,使得管理和操作数据库过程变得非常简单。开发者可以轻松地创建、修改和删除数据库记录,而无需编写自定义管理界面。.../simple/ --trusted-host pypi.douban.com 验证一下是否安装成功,看到版本号表示ok: python -m django --version ,我们已经安装好了Django...manage.py migrate TestModel # 创建表结构 自定义表单 我们可以自定义管理页面,来取代默认页面。...外部键,所以外部参考关系。

    27010

    Django 上传图片和Admin站点5.2

    上传图片 当Django在处理文件上传时候,文件数据被保存在request.FILES FILES中每个键为中name 注意:FILES只有在请求方法为...,默认Admin被启用 1.创建管理员用户名和密码 python manage.py createsuperuser 然后按提示填写用户名、邮箱、密码 2.在应用内admin.py文件完成注册,就可以在后台管理中维护模型数据...列表类型 在列表中,可以是字段名称,也可以是方法名称,但是方法名称默认不能排序 在方法中可以使用format_html()输出html内容 在models.py文件中 from django.db import...other', {'fields': ('hcontent')}) ) fields与fieldsets两者选一 InlineModelAdmin对象 类型InlineModelAdmin:表示在模型添加或修改页面嵌入关联模型添加或修改...子类TabularInline:以表格形式嵌入 子类StackedInline:以块形式嵌入 class HeroInline(admin.TabularInline): model =

    47230

    Django之admin使用和源码剖析

    激活管理工具 通常我们在生成项目时会在 urls.py 中自动设置, from django.conf.urls import url from django.contrib import admin...urlpatterns = [ url(r'^admin/', admin.site.urls), ] 当这一切都配置后,Django 管理工具就可以运行了。...,如  1. list_display,列表时,定制显示。...4. list_select_related,列表时,连表查询是否自动select_related 5. list_editable,列表时,可以编辑  @admin.register(models.UserInfo...如果在程序运行期间,很多地方都需要使用配置文件内容,也就是说,很多地方都需要创建 AppConfig 对象实例,这就导致系统中存在多个 AppConfig 实例对象,而这样会严重浪费内存资源,尤其是在配置文件内容很多情况下

    2.1K00

    四、其它(一)ModelAdmin对象InlineModelAdmin对象重写admin模板Paginator对象Page对象示例

    ,可以介入Django请求和响应处理过程,修改Django输入或输出 激活:添加Django配置文件中MIDDLEWARE_CLASSES元组中 每个中间件组件是一个独立Python类,可以定义下面方法一个或多个...示例:自定义异常处理 与settings.py同级目录下创建myexception.py文件,定义类MyException,实现process_exception方法 from django.http...列表类型 在列表中,可以是字段名称,也可以是方法名称,但是方法名称默认不能排序 在方法中可以使用format_html()输出html内容 在models.py文件中 from django.db import...other', {'fields': ('hcontent')}) ) fields与fieldsets两者选一 InlineModelAdmin对象 类型InlineModelAdmin:表示在模型添加或修改页面嵌入关联模型添加或修改...子类TabularInline:以表格形式嵌入 子类StackedInline:以块形式嵌入 class HeroInline(admin.TabularInline): model =

    4.5K20

    django 学习笔记一

    也可以放在 setting 中 自定义设置要求 设置名称全部是大写 不要使用一个已经存在设置 global_setting.py 目录中并没有此文件,此文件路径在 django/conf/global_setting...不同 ---- 在官方文档中 也说明了其他方法设置 “设置文件路径” Mac 中有两种方式: # 第一种 export DJANGO_SETTINGS_MODULE=mysite.settings...q.choice_set.create(choice_text="some text", votes=1) ---- 创建一个管理员用户 教程 ---- 注册超级管理员 python manage.py...通常,你会想要自定义管理界面中表单外观和功能。 你可以通过在注册对象时候告知Django一些你想要选项来完成。 让我们通过对编辑表单上字段重新排序来看一下它是如何工作。...TabularInline 是紧凑型 class ChoiceInline(admin.StackedInline): model = Choice extra = 3 # 设置要添加关联个数

    1K20

    Django 自定义后台

    个人学习笔记,参考 django 官方文档:https://docs.djangoproject.com/zh-hans/3.2/ 一、自定义后台   Django 提供了相应接口供我们自定义 Django...二、添加关联对象   一个投票对应了多个选项,但是后台默认没有显示,我们如何在后台关联数据表呢?   ...我们在之前就把 Choice 表给注册了,似乎已经关联数据表了,但这样非常低效,高效设计是我们在创建一个新投票问题时就设置选项。...我们可以把继承类改成TabularInline class ChoiceInline(admin.TabularInline): #...   于是,就变成了这样。   ...当然,Django 官方文档还对展示页面等等进行了自定义,这块我没继续学习! 三、Simple UI 快速上手   根据 Django 官方文档,你完全可以自定义后台各各方面!

    66010

    Django学习笔记 1.7 自定义 admin 站点

    作者: iotisan 前言 这节笔记将更加深入地处理 admin 站点,包括修改表单更加直观呈现模型数据,快速添加关联对象,以及后台涉及列表展示、过滤器、搜索框等操作。...1 自定义后台表单 polls/admin.py 通过 admin.site.register(Question) 注册 Question 模型,Django 能够构建一个默认表单用于展示。...通常来说,你期望能自定义表单外观和工作方式。你可以在注册模型时将这些设置告诉 Django。...默认提供 3 个足够选项字段。” 3 自定义后台更改列表 3.1 显示列表 默认情况下,Django 显示每个对象 str() 返回值。但有时如果我们能够显示单个字段,它会更有帮助。...为此,使用 list_display 后台选项,它是一个包含要显示字段名元组,在更改列表页中以形式展示这个对象: class QuestionAdmin(admin.ModelAdmin):

    99120

    Django—常用功能

    html页面中调用时,也需要指定静态文件路径,Django中提供了一种解析方式配置静态文件路径。...配置静态文件 Django提供了一种配置,可以在html页面中可以隐藏真实路径。 1)在项目的settings.py文件中修改STATIC_URL项。...说直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外操作,它本质上就是一个自定义类,类中定义了几个方法Django框架会在请求特定时间去执行这些方法。...原文引用:https://www.cnblogs.com/liwenzhou/p/8761803.html 上去 三、Admin站点 内容发布部分由网站管理员负责查看、添加、修改、删除数据,开发这些重复功能是一件单调乏味...点击头可以进行升序或降序排列。 将方法作为 可以是模型字段,还可以是模型方法,要求方法返回值。

    2.7K30

    自定义 Django 管理界面中多对多内联模型

    问题背景在 Django 管理界面中,用户可以使用内联模型来管理一对多关系。但是,当一对多关系是多对多时,Django 提供默认内联模型可能并不适合。...具体步骤如下:创建一个新内联模型类。这个类继承自 admin.TabularInline 或 admin.StackedInline。在新内联模型类中,重写 get_formset() 方法。...这两个方法分别负责判断用户是否添加和修改内联模型对象将新内联模型类添加到 ModelAdmin 类中。在 ModelAdmin 类 inlines 属性中,添加内联模型类。...下面是一个示例代码,演示了如何自定义多对多内联模型显示方式:from django.contrib import adminfrom django.contrib.admin.utils import...将自定义内联模型类添加到 ModelAdmin 类中admin.site.register(Invoice, InvoiceAdmin)在上面的代码中,我们首先创建了一个新内联模型类 InvoiceProductFormset

    11510
    领券