我在我的 django 应用程序中有一个用户配置文件的模型,它有一个 models.ImageField,当用户上传图像时,我有一个 ModelAdmin,在管理页面中,当我进入该用户的自定义页面时,在 ImageField 部分,有上传图片的url和一个名为“清除”的复选框和一个用于更新图片的按钮。如何更改该复选框的文本?例如我希望它有文本“删除”而不是“清除”
问问题
2823 次
1 回答
3
似乎“清除”是硬编码。
因此,您可以像这样创建一个自定义小部件:
class MyClearableFileInput(ClearableFileInput):
clear_checkbox_label = ugettext_lazy('Delete')
并像这样将其分配给您的表单字段
MyForm(forms.Form):
myfile=ImageField(widget=MyClearableFileInput)
或在您的管理员中添加覆盖它
class MyModelAdmin(admin.ModelAdmin):
formfield_overrides = {
models.ImageField: {'widget': MyClearableFileInput},
}
或者您使用转换机制将清除转换为删除。文档中很好地描述了 Django 翻译。
我个人认为这对您的问题来说是相当多的开销,除非您无论如何都在使用翻译。我会明确推荐自定义小部件 - 附加代码非常少。
于 2012-08-22T07:52:23.530 回答