1

私はdjango Model Formsを使用しています。エラーをキャッチすると、テキスト フィールドのすぐ上に表示されます。代わりにテキストボックスの横に表示する方法はありますか?

4

2 に答える 2

2

フォームを表示するためにDjangoに組み込まれている方法の1つを使用していると思います(つまり、https://docs.djangoproject.com/en/dev/topics/forms/#displaying-a-form-using-a-template)。のような 1 行のフォームを簡単に表示できるという点で、これは素晴らしいこと{{ form.as_p }}ですが、これを行うと、フォームのレンダリング方法に関するすべての制御を放棄することになります。そのコントロールを元に戻したい場合は、HTML を自分で作成する必要があります。

つまり、次のようにする必要があります。

{% for field in form %}
    <p>{% if field.error %} {{ field.error }} {% endif %}</p>
    <p>{{ field.label }}</p>
    <p>{{ field }}</p>
{% endfor %}

もちろん、必要に応じて書式設定を変更する必要がありますが、より高度なものが必要な場合は、HTML を直接変更し、(CSS で使用するために) クラスまたは ID を追加できるようになりました。

于 2013-08-01T15:00:09.720 に答える
1

ウィジェットの下に表示されるエラー メッセージは、CSS で出力を変更できる通常の html 要素です。Styling required or erroneous form rowsを読んでください。

お役に立てれば!

于 2013-08-01T15:00:55.493 に答える