Django 1.9 class-based generic viewsを使用しています。例えば、CreateViewです。 「作成」ページにアクセスすると、いくつかの部分が翻訳されます(私の例ではフランス語)ので、自分の設定と配線は正しいが、フォームフィールド(ビューで自動命名)はそうではありません(つまりform.as_p )。Djangoクラスベースの汎用ビュー(CreateView)を国際化するには?
フォームフィールドを翻訳ファイルから使用するにはどうすればよいですか? (たとえば、「名前」は、すでに翻訳されているフィールドですが、form.as_pによって選択されません)。
答えは、{%trans%}タグを使用してテンプレート内のフィールドを個別に一覧表示することです。私はそれを避けることを望んでいた。
私の例はthe docsの例と似ていますので、ここでその例を繰り返します。まず、コード:
from django.views.generic.edit import CreateView
from myapp.models import Author
class AuthorCreate(CreateView):
model = Author
fields = ['name']
次に表示テンプレート:
<form action="" method="post">{% csrf_token %}
{{ form.as_p }}
<input type="submit" value="Save" />
</form>
verbose_name works! – dfrankow