スポンサーリンク

[Django 2] フォーム送信

Djangoでフォーム送信するやり方を記載します。

 

フォーム送信 GET

まずはGETでのフォーム送信のやり方を書いていきます。

まずは、フォーム送信をする画面のhtmlを下記のように書き、

urls.pyについても変更を加えます。

testapp/index.html

アプリケーション(testapp)のurls.py

<form action=”{% url ‘testapp:result’ %}” method=”get”>の、

{% url ‘testapp:result’ %}はDjango特有の書き方です。

testappはurls.pyのapp_name, resultはpath()のnameの値を示しています。

 

{% csrf_token %}はフォーム送信するときの必ず書くおまじないだと思ってください。

 

 

結果用のテンプレート、result.htmlは下記の通りです。

testapp/result.html

上記のテンプレートで、フォーム送信されたデータを確認します。

 

views.py

views.pyでは、indexメソッドがフォーム送信をする画面に飛ぶメソッドで、

resultメソッドが、index.htmlのからフォーム送信されたデータを受け取って処理しています。

 

フォーム送信されたデータは、request.GET.get(name属性の値)で取得できます。

実行結果

index.html

送信後

フォーム送信していることが確認できました。

 

フォーム送信 POST

次はPOSTでのフォーム送信のやり方を書いていきます。

といっても変更する箇所はほとんどありません。

 

index.html

method=”post”に変更しました。

 

views.py

request.POST.get(‘num’)に変更しました。

 

これで、GETのフォーム送信からPOSTのフォーム送信になっています。

Django
スポンサーリンク
シェアする
trelab