猫爺

なんとかボールのなんとかさまが嫁に似ているので好きです。

Python Django3 超入門4

引き続き書籍の続きを進めていきます。

 

書籍

 P88~102

実装

 1 既存のformを使用する

formを使ってみています。

 

 

method="POST"

postで値の送信

 {% csrf_token %}

こちらの記述はリクエスト偽造を防ぐもの ※cross-site request forgeries

書籍を参考にして入れているだけなので詳細は割愛します。

 

msg = request.POST['msg']

 こちらの記述でindex.htmlの

<input id="msg" type="text" class="form-control" name="msg">

こちらの値を取り出します。

 

request.GET = クエリパラメータから値を取り出す

request.POST = フォームから送信された値を取り出す

 

urls.py
urlpatterns = [
path('',views.index, name='index'),
path('form',views.form, name='form')
]

関数の登録処理を追記

 

2 djangoのフォームを使用する

アプリケーション名のフォルダの直下にforms.pyファイルを作成する

class HelloForm(forms.Form):
name = forms.CharField(label='name')
mail = forms.CharField(label='mail')
age = forms.IntegerField(label='age')

CharField = テキストを入力するフィールドクラス

IntegerField = 整数の値を入力するためのフィールドクラス

 

views.pyの編集

POST送信の場合はformを返すように修正

 

3 フォームを縦に表示するように修正

{{ form.as_table }}

上記の記述でpython側から送られるフォームを横並びになっているものを縦に変更

 

  • 書籍

www.shuwasystem.co.jp


こちらの書籍を元に勉強を進めていこうと思います。

勉強できたことを掲載していきます。

 

github.com