【django】フォームを使って投稿する

 

djangoのフォームを使って、名前やメールアドレスを投稿する方法をご紹介します。

 

 

フォームの作成

 

djangoのformsをインポートして、名前、年齢、メールアドレスを定義します。

 

forms.py

 

文字列はCharField、数値はIntegerFieldを使いましょう。

 

ビューの修正

 

リクエストの内容によって、処理を分けるクラスを作ります。

 

views.py

 

TemplateViewクラスを継承することで、関数get,postを定義してその中で処理を分けることができます。

 

post関数の中で、HelloFormをインスタンス化して変数formの上書きをしています。これをすることで、投稿された内容が投稿後も保持されるようになります。

 

テンプレートとURL

 

index.html

 

message|safe ですが、これはsafeというフィルタです。message内に含まれるタグをエスケープしないようにします。

csrf_tokenはセキュリティのおまじないと覚えておきましょう。

form.as_tableはビューの中で定義した変数formをテーブル形式で表示するためのものです。

 

urls.py

 

実行結果

 

browser

名前とかをいれて、clickすると上の方に太字で表示されます。

 

以上です。皆さんの学習の手助けになれば嬉しいです。

 

ABOUTこの記事をかいた人

のっくん

理系院卒で大企業の研究所に就職。 趣味はプログラミング、レアジョブ英会話、筋トレ、旅行。 Twitter:@yamagablog