Как настроить флажок "Очистить" для моделей.ImageField на странице администратора django?
У меня есть модель для профиля пользователя в моем приложении django, у которого есть models.ImageField, и у меня есть ModelAdmin для него, когда пользователь загружает изображение, на странице администратора, когда я захожу на страницу настройки этого пользователя, в разделе ImageField, есть URL загруженного изображения и флажок "Очистить", а также кнопка для обновления изображения. как я могу изменить текст этого флажка? например, я хочу, чтобы он имел текст "Удалить" вместо "Очистить"
1 ответ
Кажется, что "Clear" - это жесткий код.
Так что либо вы создаете собственный виджет просто так:
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 очень хорошо описан в документации.
Лично я просто думаю, что это довольно сложная задача для вашей проблемы, если вы все равно не используете переводы. Я бы определенно рекомендовал пользовательский виджет - дополнительный код действительно минимален.