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>