第4回に続くResponderを使ってDjangoチュートリアルをやってみた~第3回:後編~前回の記事の続きとなります。前回「【第2回】Responderを使っ...データの変更(Change)次は、変更機能の実装です。先ほどの「Add」では、各テーブルごとに処理を書いていましたが、「Change」機能は、工夫して一つの関数でまとめてみましょう。そんな時に役立つのが、引数を持つルーティングです。「Questionテーブルでid=1のデータを変更する処理」。「Choiceテーブルでid=2のデータを変更する処理」。いうようにhttp://127.0.0.1:5042/change/の後に記述するパスによって機能を変更できます。使ってルーティングします。コード実際にコーディングしてみると、以下のように書くことができます。error_messages.append('フィールドに入力されていない項目があります。None:error_messages.append('フィールドに入力されていない項目があります。'/admin_top')このように、引数をもつルーティングでは、処理を行う関数の引数としても、それらを追加してあげます。して、最初にどのテーブルを扱うかをチェックし保持しておきます。Choice次に、そのテーブルから主キーとなるidと合致するデータを持ってきて、ビューに渡します。ビューの実装ビューは、以下のように実装しました。html内に展開しているだけです。これで一気に、QuestionとChoiceの「Change」機能の実装が終わりました。実行それでは、実際に動かしてみましょう!(スクショ撮った後が右下に写っていますが気にしないでください)うまく機能していそうですね!データの削除(Delete)では次に、「Delete」機能ですが、これはさっきの「Change」機能と大きな違いはありません。いっても、多少、postの処理が違うのと、ビューも少し異なります。コードと、実際に動いている様子を見て理解した方が早そうです。上のコードが実際に動いている様子は、以下のようになります。問題なく動いているようです!どれもシンプルなビューですが、凝りたい人は、こだわって作ってみるのも面白いと思います!おわりに【第3回】さて、今回は、ここまでになります。今回の第3回でひとつの山場は越えたと思います。難しい場所も多いので、一旦ここで立ち止まり、コードをしっかり読んで処理を理解する時間を設けても良いのではないでしょうか?また、ここまでのコーディングが理解できると、いろいろな応用が効くようにもなるので、ぜひ遊んで見てください。ちなみに、この記事で書いているコードで「ここはもっとこうしたら良いんじゃないか?」など見つけるのも面白いと思います。次回は「公開用のビュー」を作成していきます。現在のディレクトリ構成も載せておきます。urls.py第4回に続く第4回はこちらになります。前回の記事の続きとなります。前回の記事の続きとなります。後編では、さらに機能を追加していきたいと思います。社長と一杯飲みながらお話してみたい方はこちらミツオカフリーランスエンジニア様の募集はこちらにゃんこ師匠その他、お問い合わせはこちらミツオカお気軽にお問い合わせください!せっかくなので、別の記事もぜひ読んでいって下さいね!一緒に働いてくれる仲間を募集しております!ライトコードでは、仲間を募集しております!当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。「好きなことを仕事にするエンジニア集団」の(株)ライトコードのメディア編集部が書いている記事です。rightcodeエンジニア大募集中!私たちライトコードでは、エンジニアを募集しております。私服大歓迎のカジュアルな職場なので、お気軽にご応募ください!また、フリーエンジニアの方も募集しております。