Agile育成ブログ
未来を変える喜びを
未分類

django-widget-tweaksとは?


Warning: count(): Parameter must be an array or an object that implements Countable in /home/xs638785/agile-software.site/public_html/wp-content/plugins/rich-table-of-content/functions.php on line 490

django-widget-tweaksとはフォームを簡単に作ることができるライブラリです。
Formをレンダリングする際にクラスを追加することができる

フォームのデザイン

widget_tweaksは2種類の方法を使ってフォームのデザインを調整します。

  • 「add_class」テンプレートフィルター
  • 「render_field」テンプレートタグ

左がDjangoでの書き方。右がdjango-widget-tweaksを使って書いた場合です。

class LoginForm(forms.Form):
    username = forms.CharField(
        'ユーザー名',
        max_length=100,
        widget=forms.TextInput(attrs={'class': 'input-username'})
    )
    password = forms.CharField(
        'パスワード',
        max_length=100,
        widget=forms.PasswordInput(attrs={'class': 'input-password'})
    )

---

<!-- login.html -->
<form>
    {{ form.username }}
    {{ form.passowrd }}
    <button type="submit">Login</button>
</form>
class LoginForm(forms.Form):
    username = forms.CharField('ユーザー名', max_length=100)
    password = forms.CharField('パスワード', max_length=100)

---

<!-- login.html -->
{% load widget_tweaks %}
<form>
    {% render_field form.username class="input-username" %}
    {% render_field form.passowrd class="input-password" type="password" %}
    <button type="submit">Login</button>
</form>

You cannot copy content of this page