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

Django管理页面上的新建/更改显示对象而不是值

在Django中,管理页面上的新建/更改显示对象而不是值是指在管理后台中,我们可以自定义对象在列表页面和详情页面的展示方式,而不仅仅是显示对象的值。

为了实现这一功能,我们可以使用Django提供的admin模块和ModelAdmin类。下面是一些关键步骤和相关概念:

  1. 创建一个admin.py文件并导入相关模块:
代码语言:txt
复制
from django.contrib import admin
from .models import YourModel
  1. 创建一个继承自ModelAdmin的类,并在其中定义自定义的展示方式:
代码语言:txt
复制
class YourModelAdmin(admin.ModelAdmin):
    list_display = ('id', 'name', 'custom_display')  # 在列表页面展示的字段
    fields = ('name', 'custom_display')  # 在详情页面展示的字段

    def custom_display(self, obj):
        # 自定义展示方式的方法
        return f"Custom Display: {obj.name}"
    custom_display.short_description = 'Custom Display'  # 自定义展示方式的标题

在上述代码中,我们通过list_display属性指定了在列表页面展示的字段,fields属性指定了在详情页面展示的字段。同时,我们定义了一个custom_display方法来自定义展示方式,并通过custom_display.short_description属性设置了展示方式的标题。

  1. 将自定义的展示方式应用到admin后台:
代码语言:txt
复制
admin.site.register(YourModel, YourModelAdmin)

在上述代码中,我们使用register方法将YourModel和YourModelAdmin关联起来,这样在admin后台中就会使用我们自定义的展示方式。

这样,当我们在Django的管理后台中查看YourModel对象时,列表页面和详情页面就会按照我们定义的展示方式显示对象,而不仅仅是显示对象的值。

推荐的腾讯云相关产品:腾讯云服务器(CVM)、腾讯云数据库MySQL版、腾讯云对象存储(COS)等。你可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品的详细信息和使用指南。

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

相关·内容

Django教程 —— 站点后台管理

后台管理 假设我们要设计一个新闻网站,我们需要编写展示给用户页面,网页上展示新闻信息是从哪里来呢?是从数据库中查找到新闻信息,然后把它展示在页面上。...使用Django管理模块,需要按照如下步骤操作: 管理界面本地化 创建管理员 注册模型类 自定义管理页面 1、管理界面本地化 本地化是将显示语言、时间等使用本地习惯,这里本地化就是进行中国化,中国大陆地区使用简体中文...自定义后台管理界面 在列表显示出了 BookInfo object ,对象其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能。 比如列表显示哪些。...列表列变成中文,是因为在 BookInfo 模型类中属性给了 verbose_name 参数,如果没有给定则显示类属性名。...公众号 新建文件夹X 大自然用数百亿年创造出我们现实世界,程序员用几百年创造出一个完全不同虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。

1.6K20

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

探索管理功能 现在我们已经注册了 Poll ,那 Django 就知道了要在管理网站首页上显示出来: 点击 “Polls” 。现在你在 polls 更改列表” 。...Save and add another – 保存更改并载入当前对象类型空白表单。 Delete – 显示删除确认。...你将看到一列出了通过 Django 管理界面对此对象所做全部更改清单页面, 包含有时间戳和修改人姓名等信息: 自定义管理表单 花些时间感叹一下吧,你没写什么代码就拥有了这一切。...使用了 TabularInline 后(不是 StackedInline) ,基于表格式下相关 对象显示更紧凑了: 需要注意是有个额外 “Delete?”...这个变量包含了每一个 已安装 Django 应用。你可以通过你认为最好方法硬编码链接到特定对象管理页面,不是使用默认模板。

2.5K40

Django 3.1 官网学习路线

它没有显示管理索引上。 还有一件事要做:我们需要告诉管理员 Question 对象有一个管理接口。...页面的底部提供了几个选项: 保存-保存更改并返回此类型对象更改列表。 保存并继续编辑——保存更改并重新加载此对象管理页面。 保存并添加另一个——保存更改并为这种类型对象加载一个新空白表单。...:“选择对象在问题管理面上编辑。...使用表格内联(不是 StackedInline),相关对象将以更紧凑、基于表格格式显示: 自定义管理更改列表 现在问题管理页面看起来不错了,让我们对“更改列表”页面做一些调整——这个页面显示系统中所有问题...要做到这一点,使用 list_display 管理选项,它是一个字段名元组,以列形式显示对象更改列表页面上: polls/admin.py¶ class QuestionAdmin(admin.ModelAdmin

8.1K10

Django教程 —— 站点后台管理

后台管理 假设我们要设计一个新闻网站,我们需要编写展示给用户页面,网页上展示新闻信息是从哪里来呢?是从数据库中查找到新闻信息,然后把它展示在页面上。...有,那就是我们接下来要给大家讲Django后台管理Django能够根据定义模型类自动地生成管理页面。...使用Django管理模块,需要按照如下步骤操作: 管理界面本地化 创建管理员 注册模型类 自定义管理页面 1、管理界面本地化 本地化是将显示语言、时间等使用本地习惯,这里本地化就是进行中国化,中国大陆地区使用简体中文...自定义后台管理界面 在列表显示出了 BookInfo object ,对象其它属性并没有列出来,查看非常不方便。 Django提供了自定义管理页面的功能。 比如列表显示哪些。...列表列变成中文,是因为在 BookInfo 模型类中属性给了 verbose_name 参数,如果没有给定则显示类属性名。

2K10

Django】 开发:补充知识

Paginator对象 负责分页数据整体管理 对象构造方法 参数 需要分类数据对象列表 每页数据个数 返回: Paginator对象 Paginator属性...,包含以下两个异常子类 PageNotAnInteger:当向page()传入一个不是整数时抛出 EmptyPage:当向page()提供一个有效,但是那个页面上没有任何对象时抛出 Page对象...负责具体某一数据管理 创建对象 Paginator 对象 page () 方法返回 Page 对象 page = paginator.page(页码) Page 对象属性 object_list...这告诉浏览器该文档是CSV文件,不是HTML文件 响应会获得一个额外Content-Disposition标头,其中包含CSV文件名称。...#注意: #1 若报错邮件中牵扯到user,pw,cc等局部变量,则会将其替换成 *****, name 变量还显示其真实 #2 多个装饰器时,需要将其放在最顶部 #3 若不传参数,则过滤所有局部变量

6.4K30

37.Django1.11.6文档

Django认证框架中只存在一种类型用户,因此诸如'superusers'或管理员'staff'用户只是具有特殊属性集user对象不是不同类型user对象。...”管理更改列表页面上可以显示项目数。 ...如果要使用内联模型来表示多对多关系,则必须告知Django管理不是显示此窗口小部件 - 否则您最终会在管理面上看到两个窗口小部件,用于管理关系。...建议您使用get_change_message()方法检索该不是直接访问该。 在Django更改1.10: 以前,此属性始终是一个简单字符串。 ...如果最后一通常会有一些小于或等于orphans项目,那么这些项目将被添加到上一(成为最后一),不是让它们自己单独留在一个页面。

24.2K80

Django教程 —— 视图及URL

当我们刚刚在浏览器中输入 http://127.0.0.1:8000/admin/ 之后,浏览器显示出了后台管理登录页面,那有没有想过这个服务器是怎么给我们找到这个页面并返回呢?...request,视图必须返回 HttpResponse 对象,HttpResponse 中参数内容会显示在浏览器面上。...Django 类视图 View 从本质上讲,基于类视图使您可以使用不同类实例方法来响应不同 HTTP 请求方法,不是使用单个视图函数中有条件分支代码。...return HttpResponse("POST请求 - 图书信息") 配置URL 因为 Django URL解析器 希望将请求和关联参数发送给可调用函数不是类,所以基于类视图具有一个...返回结果如下: 公众号 新建文件夹X 大自然用数百亿年创造出我们现实世界,程序员用几百年创造出一个完全不同虚拟世界。我们用键盘敲出一砖一瓦,用大脑构建一切。

68920

Django教程(一)- Django视图与网址1.简介2.环境搭建3.安装pycharm4.Ubuntu下 正确安装VMware Tools5.Django主要模块6.Django基本命令7. Dj

输入命令:sudo mv jdk1.8.0_131/ /usr/lib/jvm/ 注意:如果没有jvm文件,执行该语句虽然会自动创建jvm文件,但只会把jdk1.8.0_25里面的文件都放到jvm中,不是把...创建数据库表 或 更改数据库表或字段 Django 1.7.1及以上 用以下命令 # 1. 创建更改文件 python manage.py makemigrations # 2....函数返回了一个 HttpResponse 对象,可以经过一些处理,最终显示几个字到网页上。 3....): ... admin.site.register(Question, QuestionAdmin) 列表属性 list_display:显示字段,可以点击列头进行排序 list_display...class HeroInfoInline(admin.TabularInline) 布尔显示 发布性别的显示不是一个直观结果,可以使用方法进行封装 def gender(self): if

1.3K20

Django3.2边学边记—Adimn站点管理

创建模型管理类来管理某个模型在后台显示页面形式 ModelAdmin类可以控制不同模型在Admin界面中展示方式,主要包括在列表展示方式、添加修改展示方式 上文中展示了TestAdmin类一种注册方法...控制显示列,Django 会尝试按照这个顺序解释 list_display 每个元素: 一个模型字段。 一个可调用对象。 一个代表 ModelAdmin 属性字符串。...atitle.short_description='标题'   如果是更改模型字段显示列标题,可以在定义模型字段时,设置verbose_name ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...你可以用empty_value_display 属性更改 123 from django.contrib import admin  ...  ...父级地名', ordering='id',boolean=True)    def title2(self):        return self.title 过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏过滤器

1.1K00

Django开发在线教育平台--学习整理(一)

机构列表右侧有快速提交我要学习表单。 点击机构–> 左侧:机构首页,机构课程,机构介绍,机构讲师。 后台管理系统可以切换主题。左侧每一个功能都有列表显示, 增删改查,筛选功能。...课程列表可以对不同字段进行排序。选择多条记录进行删除操作。 课程列表:过滤器->选择字段范围等,搜索,导出csv,xml,json。 课程新增页面上传图片,富文本编辑。...当django在根目录下找不到app时会去apps中去寻找,但此时pycharm知道这么做,django不知道,所以还要到settings中配置。...2018-05-08.png 五、Admin后台管理系统 使用django自带Admin之前先创建一个超级管理员账户: E:\DjangoProjects\MxOnline2>python manage.py...fields': ('detail', 'image', 'you_need_know', 'teacher_tell', 'add_time') }), ) # 指定修改页面上显示字段

2.9K90

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

) class HeroAdmin(admin.ModelAdmin): 通过重写admin.ModelAdmin属性规定显示效果,属性主要分为列表、增加修改两部分 列表选项 “操作选项”位置...五、分页 Django提供了一些类实现管理数据分页,这些类位于django/core/paginator.py中 Paginator对象 Paginator(列表,int):返回分页对象,参数为列表数据...,抛出InvalidPage异常 异常exception InvalidPage:当向page()传入一个无效页码时抛出 PageNotAnInteger:当向page()传入一个不是整数时抛出...EmptyPage:当向page()提供一个有效,但是那个页面上没有任何对象时抛出 Page对象 创建对象 Paginator对象page()方法返回Page对象,不需要手动构造 属性 object_list...:当前上所有对象列表 number:当前序号,从1开始 paginator:当前page对象相关Paginator对象 方法 has_next():如果有下一返回True has_previous

4.4K20

Django3.2边学边记—Adimn站点管理

创建模型管理类来管理某个模型在后台显示页面形式 ModelAdmin类可以控制不同模型在Admin界面中展示方式,主要包括在列表展示方式、添加修改展示方式 上文中展示了TestAdmin类一种注册方法...控制显示列,Django 会尝试按照这个顺序解释 list_display 每个元素: 一个模型字段。 一个可调用对象。 一个代表 ModelAdmin 属性字符串。...atitle.short_description='标题'   如果是更改模型字段显示列标题,可以在定义模型字段时,设置verbose_name ,或者封装成方法,再对方法使用上面那个属性,模型字段不能直接使用那个属性...None,一个空字符串,或者一个没有元素可迭代字段,Django显示 - (破折号)。   ...与在模型中定义多了这个参数         return obj.title    admin.site.register(Test, TestAdmin) 过滤器 用 list_filter 来激活管理更改列表页面右侧侧栏过滤器

1.3K30

用Python写了一个合同帐务系统(附源码)

五、合同管理 5.1 项目合同 5.2 修改合同 在合同列表中点击即可展开合同详细信息,在详细信息中可以修改、删除合同。同进在修改合同弹出中可以进行:发票计划、资金计划、合同附件操作。...六、报销管理 报销管理里能操作和显示都是基于当前操作者(本人)报销。...报销管理包含“新增报销”和“报销查询”两个部分,其中 新增报销中显示是该用户最近新建但是尚未经过管理人员(经理、或财务)审批报销条目。...报销查询可以基于各种条件进行综合查询,但是只局限于查询自己本人报销记录。 另外,报销被分为两大类型:项目报销、其他报销。...7.1 报销审批 此包含两个列表,其中上面的列表显示最近提交过来所有报销,可以根据条件进行过滤显示。钩选相应报销条目后再点击“报销”按钮可以批量审批报销。报销后条目状态将变为已报销状态。

1.1K20

后端框架学习-Django

verbose_name:设置此字段在admin界面上显示名称,可以中文化admin界面 好习惯:字段选项【添加或更改】均要执行 模型类-Meta内部类 使用Meta类来给**模型(其实就是表属性)...查(get())->改:通过对象.属性方式更改->保存:对象.save() 2.批量更新数据 直接调用QuerySetupdate(属性=实现批量修改) 针对QuerySet来做更改 删除操作...(request): return … 分页 分页指在web页面有大量数据需要显示,为了阅读方便在每个中只显示部分数据。...,抛出InvalidPage异常,包含两种异常子类-PageNotInteger页码不是整数和-EmptyPage页码超 page对象 Paginator对象page()方法返回Page对象 page...这告诉浏览器该文档是CSV文件,不是HTML文件 响应为额外添加一个Content-Disposition标头,其中包含CSV文件名称,它将被浏览器用于开启”另存为”对话框。

9.3K40

Django入门:基于 Django Web 页面开发

功能要求: 具有文章列表,文章详情; 文章列表点击文章可跳转到对应详情; 文章列表具有分页功能; 文章详细具有上下文章跳转; 1、创建项目 使用 PyCharm 创建一个 DJango 项目...migrations: 为迁移文件夹,和数据库交互用到; admin:是用来管理页面的; apps:是设置应用程序名称等信息; models:模型,和后台数据库相关,我们在这里创建对象,数据库就可以自动生成表...将我们实体类注册进去。 然后在终端执行命令来设置管理账号和密码,因为数据库肯定不是外界随便访问。 ? 这里我设置了用户名和密码都是 admin。...然后根据传入 Id 遍历文章列表,寻找那个 id 对应文章,由于我们要遍历对象没有索引,所以我们手动加上一个索引,使用enumerate函数遍历即可: def get_detail_page(...page={{ n }}">{{ n }} {% endif %} {% endfor %} 这样当前就会变成 橘色 显示。 ?

1.4K30

Django内置通用类视图CBV及示例

本文链接:https://blog.csdn.net/bbwangj/article/details/98720627 Class-based views是Django为解决建站过程中常见呈现模式建立..."/login/" TemplateView 显示Django HTML template 一般网站中使用模板显示 ListView 显示对象列表 文章列表 DetailView 显示对象详情 文章详细...表示对象列表一个页面. 执行这个视图时候,self.object_list将包含视图正在操作对象列表(通常是一个查询集,但不是必须)....属性: model: 视图要显示模型 queryset: 表示对象一个查询集.queryset优先于model. template_name: 字符串表示模板名称. context_object_name...方法: get_queryset():返回用来获取本视图显示对象queryset.如果设置了queryset属性,get_queryset()默认返回它. get_object(queryset=

3.2K10

使用django-haystack实现全文检索

直接在django项目中使用whoosh需要关注一些基础细节问题,通过haystack这一搜索框架,可以方便地在django中直接添加搜索功能,无需关注索引建立、搜索解析等细节问题。...q={{ query }}参数,否则单击下一时会丢失搜索参数q,而显示出来全部文章第二#} <span class="step-links...='q',代表搜索<em>的</em>参数,为固定写法,不能修改为其他<em>值</em>。...          page:当前<em>页</em><em>的</em>page<em>对象</em>           paginator:分页paginator<em>对象</em>           上面这三个<em>对象</em>我们已经在search.html搜索结果文件中使用了...q={{ query }}参数,否则单击下一<em>页</em>时会丢失搜索参数q,而<em>显示</em>出来全部<em>的</em>文章<em>的</em>第二<em>页</em>#} <span class="step-links

1.2K30
领券