如何修改Django Admin中TabularInline类的红圈标注文本
修改Django Admin TabularInline的添加按钮文本
刚好我之前处理过类似的需求,分两种场景给你说解决方案:
1. 只修改按钮文本中的模型名称(比如把"Add another Book"改成"Add another 书籍")
这种情况最简单,直接在你的TabularInline类里设置verbose_name和verbose_name_plural属性就行,不用改动关联模型本身:
from django.contrib import admin from .models import YourRelatedModel class YourTabularInline(admin.TabularInline): model = YourRelatedModel # 自定义单数显示名称 verbose_name = "书籍" # 自定义复数显示名称,按钮文本会调用这个属性 verbose_name_plural = "书籍"
如果是中文Admin环境,默认的“Add another”会自动转为“添加另一个”,最终按钮文本就变成“添加另一个书籍”;英文环境则会显示“Add another 书籍”。
2. 完全自定义整个按钮文本(比如改成"添加新的书籍条目")
如果想要彻底替换默认的“Add another X”格式,改成更贴合业务场景的文本,可以重写get_formset方法来修改formset的add_text属性:
from django.contrib import admin from .models import YourRelatedModel class YourTabularInline(admin.TabularInline): model = YourRelatedModel def get_formset(self, request, obj=None, **kwargs): formset = super().get_formset(request, obj, **kwargs) # 直接设置你想要的按钮文本 formset.add_text = "添加新的书籍条目" return formset
这样按钮就会完全显示你自定义的文本,不受默认格式限制。
注:以上方法适用于Django 2.0+版本,目前主流项目用的3.2+ LTS版本都能正常生效。
内容的提问来源于stack exchange,提问作者SBrain
相关产品推荐
相关产品推荐

