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

在Django Admin中更改"Add“按钮的名称

在Django Admin中更改"Add"按钮的名称可以通过自定义Admin模型来实现。具体步骤如下:

  1. 创建一个新的Admin模型类,继承自django.contrib.admin.ModelAdmin
  2. 在新的Admin模型类中,重写change_view方法。
  3. change_view方法中,使用self.change_form_template属性指定一个自定义的模板文件,用于渲染Admin页面。
  4. 在自定义的模板文件中,使用block.super调用父类的change_view方法,以保留原有的Admin页面内容。
  5. 在自定义的模板文件中,使用block标签定义一个名为extra_buttons的块,用于添加额外的按钮。
  6. extra_buttons块中,使用submit_row标签定义一个名为submit-row的块,用于修改"Add"按钮的名称。
  7. submit-row块中,使用submit标签定义一个名为addanother的按钮,并设置value属性为你想要的按钮名称。

以下是一个示例代码:

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

class CustomModelAdmin(admin.ModelAdmin):
    change_form_template = 'admin/custom_change_form.html'

    def change_view(self, request, object_id, form_url='', extra_context=None):
        extra_context = extra_context or {}
        extra_context['title'] = 'Custom Change Form'
        return super().change_view(request, object_id, form_url, extra_context)

admin.site.register(CustomModel, CustomModelAdmin)

在上述示例代码中,我们创建了一个名为CustomModelAdmin的自定义Admin模型类,并重写了change_view方法。我们还指定了一个名为custom_change_form.html的自定义模板文件。

接下来,我们需要创建custom_change_form.html模板文件,并在其中修改"Add"按钮的名称。示例代码如下:

代码语言:txt
复制
{% extends "admin/change_form.html" %}

{% block extra_buttons %}
    {{ block.super }}
    <div class="submit-row">
        <input type="submit" value="Custom Add" name="_addanother">
    </div>
{% endblock %}

在上述示例代码中,我们使用block.super调用父类的change_view方法,以保留原有的Admin页面内容。然后,在extra_buttons块中,我们使用submit-row标签定义了一个名为submit-row的块,并在其中定义了一个名为addanother的按钮,并将其value属性设置为"Custom Add",即我们想要的按钮名称。

最后,将以上代码添加到你的Django项目中,并重新启动服务器。现在,你应该能够在Django Admin中看到"Add"按钮的名称已经被修改为"Custom Add"了。

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

相关·内容

  • salesforce零基础学习(八十一)更改标准字段的label名称(Admin)

    我们在开发中往往需要考虑国际化功能,salesforce 提供了国际化功能,在search部分搜索translate,便可以找到translate部分,从而对需要的进行translate。...比如Account的Name字段是标准的字段,label的名字为Name,中文对应为客户名。但是用户希望将Name的名称改成Account Name,将中文翻译成客户名称。...这在translate是找不到也做不到的。如果针对标准的表的字段修改相关的translate,需要使用下面的方式。...2.选择需要翻译的语言,然后找到需要修改字段翻译的object,此处选择Accounts,点击Edit ? 3.点击next后找到Name字段修改成客户名称,点击Save。...总结:此篇主要针对标准的表或者字段的翻译的配置,需要翻译的时候如果在translate找不到的时候不用慌,rename tabs and labels找一下就好。

    1.8K50

    Netty在Dubbo中的线程名称

    RocketMQ和Dubbo在它们的底层都使用Netty作为网络通信的框架.那么今天我们就来看一下,在Dubbo中,使用的Netty线程名称叫什么?...在官网下载了Dubbo的源码,在源码中增加了一个自己的简单Dubbo提供者代码. 先看下代码结构 beans.xml内容如下 在Netty中也有线程池的概念,但是它的池是以Group组的形式存在的....Q-4-1 Q-4-2 Q-4-3 规则是 线程池名称-第几个线程池-池中第几个线程 在Netty中有两类线程,一类是Selector线程,它单独在由一个线程池提供,这个线程池里一般只有一个线程....根据上面线程的名称我们应该知道Selector线程的名字应该叫NettyServerBoss-1-1才对,为啥叫NettyServerBoss-4-1.说明在创建Selector线程的时候已经创建了3个线程池

    1.3K10

    Python 的 Descriptor 在 Django 中的使用

    这篇通过Django源码中的cached_property来看下Python中一个很重要的概念——Descriptor(描述器)的使用。想必通过实际代码来看能让人对其用法更有体会。...下面来看下这个Descriptor在Django中是怎么被使用的。...Django中的cached_property 在Django项目的utils/functional.py中这么一个类:cached_property。从名字上可以看出,它的作用是属性缓存。...除了装饰器可能有疑惑,其他的都比较好理解。 cached_property代码 理解了上面的例子在来看Django中的这个cached_property代码就容易多了。...这里需要注意dict这个东西,在调用实例的属性时会先去这里面找,如果没找到就会去父类的dict中查找,如果还是没有,则会调用定义的属性,如果这个属性被描述器拦截了,则这个属性的行为就会被重写。

    4.3K20

    在 Flutter 中创建可拖动的浮动操作按钮

    一个浮动的动作按钮通常可以在点击时执行一个动作,所以我们添加一个名为onPressed( VoidCallback) 的参数作为参数。...通常,所需的行为是onPressed仅在点击按钮时调用回调,而不是在拖动结束时调用。然而,当拖动结束时,指针向上事件也会被触发。作为解决方案,我们需要跟踪按钮是否被拖动。...所以,我们可以检查内部onPointerUpcallback 仅onPressed在值为_isDraggingis 时调用回调false。 下面是用于创建可拖动浮动操作按钮的类。...然后,您可以从 RenderBox 的 size 属性中获取父级的大小。您必须小心,因为必须在构建树之后调用 findRenderObject 方法。...key: _key, child: widget.child, ), ), ); } } 输出: 概括 这就是如何在 Flutter 中创建可拖动的浮动操作按钮

    5.7K10

    网络名称空间在Linux虚拟化技术中的位置

    这一特性在Linux虚拟化技术中占据了核心位置,它不仅为构建轻量级虚拟化解决方案(如容器)提供了基础支持,也在传统的虚拟机技术中发挥作用,实现资源隔离和网络虚拟化。1....在Linux虚拟化技术中的应用2.1. 容器化技术在容器化技术(如Docker、Kubernetes)中,网络名称空间是实现容器网络隔离的基石。...它可以用来实现虚拟机的网络隔离,或者在更复杂的网络拓扑中(例如,使用Linux Bridge或Open vSwitch)作为虚拟网络设备的一部分。2.3....这使得网络名称空间成为构建高密度虚拟化环境(尤其是在容器技术中)的理想选择。不过,由于网络名称空间依赖于宿主机的网络栈,网络I/O的性能也受限于宿主机的硬件和网络配置。3.2....此外,围绕网络名称空间,开发了众多工具和库(如CNI、Netlink库等),为自定义网络解决方案的开发提供了便利。4. 结论 网络名称空间在Linux虚拟化技术中占据着不可或缺的位置。

    12000

    在 Django 模板中替换 `{{ }}` 包围的内容

    在 Django 开发中,模板引擎广泛用于将动态内容嵌入 HTML 文件中。通常,我们会使用 {{ }} 来输出 Django 模板变量。...二、解决方法:替换占位符的不同策略为了避免 Django 模板引擎与 JavaScript 冲突,以下几种策略可以帮助你在 Django 模板中安全地替换 {{ }} 包围的内容。1....使用自定义的占位符一种简单且有效的方法是更改占位符的符号,避免使用 Django 模板引擎的 {{ }}。...在 Django 视图中预先处理占位符如果占位符是固定的,你可以选择在 Django 视图中提前处理好字符串,将最终结果直接传递到模板中。这种方法避免了在客户端进行替换的需要,减轻了前端的负担。...{% verbatim %} 标签中的内容不会被 Django 模板引擎解析,因此可以在 JavaScript 中正常处理和替换。

    14110

    Django 1.10中文文档-第一个应用Part2-模型和管理站点

    在这个例子中,我们只为Question.pub_date定义了一个通俗的名称。对于此模型中的所有其他字段,该字段的机器可读名称将足以作为其通俗名称。 有些Field类具有必需的参数。...field question to choice 通过运行makemigrations告诉Django,已经对模型做了一些更改(在这个例子中,你创建了一个新的模型)并且会将这些更改存储为迁移文件。...Django admin管理站点介绍 为您的员工或客户生成管理网站用来添加,更改和删除内容是繁琐的工作,不需要太多的创造力。因此,Django完全自动创建模型的管理界面。...在页面的底部,则是一些可选项按钮: Save —— 保存更改,并返回当前类型对象的变更列表界面; Save and add another:保存当前修改,并加载一个新的空白的当前类型对象的表单...然后点击右上角的“History”按钮。 你将看到一个页面,列出了通过Django管理界面对此对象所做的全部更改的清单,包含有时间戳和修改人的姓名等信息: ?

    2.3K60
    领券