[Django3.0]Formクラスを試してみる

Djangoの入力フォームをフォームクラスを使って書いていきたい。
HTMLでベタ書きしているものをフォームクラスに移管する。

### Form Class
まずfomrs.pyを作ります。
/sales/forms.py

from django import forms

class MasterForm(forms.Form):
	name = forms.CharField(label='name')
	office = forms.CharField(label='office')
	zipcode = forms.CharField(label='zipcode')
	prefecture = forms.CharField(label='prefecture')
	address = forms.CharField(label='address')
	tel = forms.CharField(label='tel')
	fax = forms.CharField(label='fax')
	email = forms.EmailField(label='email')
	name_top = forms.CharField(label='name_top')
	position_top = forms.CharField(label='position_top')

次にビュー関数を編集する。
/sales/views.py

from .forms import MasterForm

def master(request):
	params = {
		'form': MasterForm()
	}
	return render(request, 'sales/master.html', params)

/sales/templates/sales/master.html

<form action="{% url 'master_complete' %}" method="post">
					{% csrf_token %}
					{{ form }}
					<br><br>
					<div class="col text-center">
						<button class="btn" type="submit">更新</button>
					</div>
				</form>

forms.pyの使い方はわかったが、view側のスタイリングをどうにかしないといけない。

form.as_tableやform.as_pだと、inputのcol-md-*の調整ができないないので、方法を考える必要がある。