1

djangoアプリにmodels.ImageFieldを持つユーザープロファイルのモデルがあり、ユーザーが画像をアップロードしたとき、管理ページ、そのユーザーのカスタマイズページに移動したとき、ImageFieldセクションにModelAdminがあります。 、アップロードされた画像のURLと「クリア」という名前のチェックボックスと画像を更新するためのボタンがあります。そのチェックボックスのテキストを変更するにはどうすればよいですか?たとえば、「クリア」ではなく「削除」というテキストを使用したい

4

1 に答える 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},
    }

または、変換メカニズムを使用して、ClearをDeleteに変換します。Djangoの翻訳は、ドキュメントでかなりよく説明されています。

個人的には、とにかく翻訳を使用していない限り、問題のオーバーヘッドはかなり大きいと思います。私は明らかにカスタムウィジェットをお勧めします-追加のコードは本当に最小限です。

于 2012-08-22T07:52:23.530 に答える