そろそろbootstrap4を使ってみたいなと思った。django-bootstrap3があるのと同様にdjango-bootstrap4があるので、それを使ってみることにした。
インストール
$ pip install django-bootstrap4
設定
# settings.py
INSTALLED_APPS = (
....
'bootstrap4',
....
)
bootstrap4の設定変更
# settings.py
BOOTSTRAP4 = {
}
内で行う
テンプレート
{% load bootstrap4 %}
{% bootstrap_css %}
{% bootstrap_javascript %}
{% bootstrap_messages %}
django-bootstrap3と一緒
ドキュメント
フォームのエラーをフィールド毎に表示
django-bootstrap4のフォームでエラーでた時の表示はフォーム上部にまとめて出るが、「この値は・・・」というような表現で、とても分かりにくいので、フィールド毎に表示されるのが良いかなと思った。
そのような場合は、django-bootstrap4-field-errors.pyを使うと良かった。このファイルをform_renderer.pyという名前でアプリのフォルダ下に置いて、HPに書いてある通りの設定
BOOTSTRAP4 = dict(
form_renderers=dict(
default='appname.form_renderer.FieldErrorFormRenderer',
),
field_renderers=dict(
default='appname.form_renderer.WithErrorFieldRenderer',
),
)
をすればよい。ちなみに47,48行目
html = self.add_field_errors(html)
html = self.wrap_field(html)
を入れ替えると、右部の表示から、下部の表示に変えられる。