DjangoでFormを用いた値のやり取り

今回はPythonのWebアプリケーション用フレームワークのDjangoでFormの使い方について投稿します。
これまでの内容については、以下を参照してください。

フォーム作成
webアプリの全体イメージです。黄色の箇所が前回からの差分になります。
ブラウザからリクエストを送ります。urlに書かれているパスをプロジェクトwebsiteのurls.pyで確認します。
urls.pyにはchatbot/urls.pyを参照するように記載します。
chatbot/urls.pyはchatbot/views.pyを参照します。
chatbotの関数でリクエストに値が設定されているか判定します。入っている場合はメッセージをテンプレートに渡します。
また、入力フォームの情報をFormクラスから取得します。
テンプレートにHTMLタグを記載します。
テンプレートの内容とchatbot/views.pyのメッセージを加工してブラウザに値を渡します。
chatbot/forms.pyコーディング
アプリのchatbotの配下にforms.pyのファイルを新規に作成します。
website/
┣ chatbot/
┃ ┣ forms.py
ファイルを作成したら以下の内容を記載します。
djangoのパッケージからformsをインポートします。
クラスを定義します。ここでは「ChatBotForm」という名前にします。
forms.Formを記載することでforms.Formを継承したクラスとなります。
CharFieldを作成します。
chatbot/views.pyコーディング
前回作成したchatbot/views.pyコードを修正します。
template/index.htmlコーディング
index.htmlのファイルを修正します。
{{message}}にchatbot/views.pyで設定した値が渡ってきて文字列として表示されます。
まとめ
サーバーを起動します。
urlを入力します。
http://127.0.0.1:8000/chatbot/
入力欄に値を入力し、送信ボタンを押します。
GET形式なのでURLにパラメータが表示されます。
{{ message }}には入力欄で入力した値が設定されていることが分かります。
0 件のコメント:
コメントを投稿
コメントをお待ちしています。