我的django应用程序中有一个用户配置文件的模型,它有一个models.ImageField,我有一个ModelAdmin用于它 当用户上传图像时,在管理页面中,当我进入该用户的自定义页面时,在ImageField部分中,有上传图像的URL和名为“Clear”的复选框以及用于更新图像的按钮。如何更改该复选框的文本?例如,我希望它有文本“删除”而不是“清除”
答案 0 :(得分:2)
似乎“清除”是硬编码。
所以你要么像这样创建一个自定义小部件:
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},
}
或者您使用翻译机制将Clear翻译为Delete。 Django翻译在docs中很好地描述了。
我个人认为,除非您正在使用翻译,否则您认为这是您的问题的一些开销。我明确推荐自定义小部件 - 附加代码实际上是最小的。