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

在显示内联时更改Django Admin的"Add another SomeObject"-button上的文本

在Django Admin中,"Add another SomeObject"按钮用于在内联表单中添加新的SomeObject对象。要更改该按钮上的文本,可以通过自定义InlineModelAdmin类来实现。

首先,创建一个新的InlineModelAdmin类,继承自django.contrib.admin.options.InlineModelAdmin。然后,在该类中重写get_formset方法,该方法返回用于渲染内联表单集的FormSet类。在重写的方法中,可以通过设置formset.form.base_fields属性来更改按钮上的文本。

下面是一个示例代码:

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

from myapp.models import ParentModel, SomeObject

class CustomInlineModelAdmin(InlineModelAdmin):
    def get_formset(self, request, obj=None, **kwargs):
        formset = super().get_formset(request, obj, **kwargs)
        formset.form.base_fields['add_another'] = 'Custom Text'
        return formset

class SomeObjectInline(admin.TabularInline):
    model = SomeObject
    extra = 1
    verbose_name_plural = 'Some Objects'

class ParentModelAdmin(admin.ModelAdmin):
    inlines = [SomeObjectInline]

admin.site.register(ParentModel, ParentModelAdmin)

在上述示例中,我们创建了一个名为CustomInlineModelAdmin的自定义内联模型管理类,并重写了get_formset方法。在该方法中,我们将formset.form.base_fields['add_another']设置为我们想要显示的自定义文本。

然后,我们创建了一个名为SomeObjectInline的内联模型类,将其添加到ParentModelAdmininlines属性中。最后,我们通过调用admin.site.registerParentModelParentModelAdmin注册到Django Admin中。

这样,当在Django Admin中显示ParentModel对象的表单时,"Add another SomeObject"按钮上的文本将被替换为"Custom Text"。

请注意,以上示例中的代码是基于Django 3.x版本编写的。如果使用的是其他版本,请根据具体版本进行适当的调整。

推荐的腾讯云相关产品:腾讯云云服务器(CVM)和腾讯云对象存储(COS)。

  • 腾讯云云服务器(CVM):提供可扩展的云服务器实例,适用于各种计算场景。详情请参考:腾讯云云服务器
  • 腾讯云对象存储(COS):提供高可靠、低成本的对象存储服务,适用于存储和处理各种类型的数据。详情请参考:腾讯云对象存储
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券