【Python】Responderを使ってDjangoチュートリアルをやってみた【まとめ編】
2019.10.25
目次
Responderを使ってDjangoチュートリアルをやってみた~まとめ~
ライトコード社長も今、イチオシのWEBフレームワークである「Responder(レスポンダー)」。
「Responderの具体的な実装例の記事を検索しても少ない」と感じた社長が、「それなら、充実しているDjangoのチュートリアルを、Responderでやってみよう!」とスタートした企画でした。
充実しているDjangoのチュートリアルを、Responderでやってみよう!
【はじめての Django アプリ作成】
https://docs.djangoproject.com/ja/2.2/intro/
Django のチュートリアル「はじめての Django アプリ作成」を、Responderで追う形で進んでいきます。
内容としては、Djangoのチュートリアルと同じように簡単な「投票Webアプリ(Pollsアプリケーション)」を作っていきます。
多少内容が異なる部分がありますが、できるだけ同じアプリになるよう作っています。
こんな感じの「投票Webアプリ」を作っていきます。
全8回に渡る長期連載
それでは、「Responderを使ってDjangoチュートリアルをやってみた」の連載企画は、全8回にわたった長期連載になってしまったため、改めてまとめてみたいと思います!
この連載を通してResponderの使い方を学べば、同時にWebアプリケーションの知識も手に入るでしょう。
第0回~初期セットアップ編~
第1回目に進む前に、割とつまずきやすい「環境構築」と「動作確認」から進めていきます!
ちなみにResponderでは、Pythonのバージョンが3.6以上である必要があります。
なお、本記事の筆者は、「MacOS 10.14.5」と「 Python 3.7.3」で実装および動作確認をしています。
記事はこちら
第1回~プロジェクト作成編~
「環境構築」も終わり、実際に「Djangoチュートリアル」を進めていきます。
第1回目では、プロジェクトを作成しファイル構成を確認していきます。
Djangoでは、プロジェクト生成コマンドを叩きます。
しかし、Responderには、そのような機能はないのでイチから作成していきましょう!
と言っても大した作業は必要ありません。
記事はこちら
第2回~データベース・モデル構築編~
第2回目では、データベースとモデルの作成に移ります。
こちらもDjangoのように簡単なデータベース作成はできませんので、いろいろと準備する必要があります。
本連載では、「SQLAlchemy(エスキューエルアルケミー)」と呼ばれる、Pythonでデータベース管理ができるライブラリの力を借りることにしました。
また、管理者ページもモデル作成の動作確認として作っていきます。
おそらく、今回が最初の山場だと思いますので一緒に頑張っていきましょう!
記事はこちら
第3回~データベース操作編~
第3回目の目標はタイトルの通り、「データベースへの追加」や「変更」「削除」をWeb上で行えるようにすることです。
第2回に引き続き、SQLAlchemyとResponderをうまく連携させて作成していきます。
今回も、Djangoのチュートリアルには無い内容を含みますが、同じアプリケーションを作成する上では、通らねばならない道です。
ですが、ここを乗り越えると、Webアプリケーション初心者でも、なんとなく勝手が分かってくるはずです。
記事はこちら
第4回~公開ビュー作成編~
今記事は、Djangoチュートリアルでいうところの、「はじめての Django アプリ作成、その 3 」と「 はじめての Django アプリ作成、その 4 」にあたります。
公開用ビューとはいわゆる、サイトのトップページなど全ユーザがアクセスできるページのことです。
現在、作成している「投票Webアプリ」では、以下のビューを公開用として作成していきます。
質問-インデックスページ | 最新エントリーをいくつか表示 |
質問-詳細ページ | 結果を表示せず、質問テキストと投票フォームを表示 |
質問-結果ページ | 特定の質問の結果を表示 |
投票ページ | 特定の質問の選択を投票として受付 |
記事はこちら
第5回~自動テスト導入編~
第4回目で、「投票Webアプリ」は、最低限の機能の実装を終えました。
そして今回は、少し内容が変わって、自動テストについてのチュートリアルに移ります。
内容が内容なだけに距離をおきがちですが、このチュートリアルでは簡単なテストを例にしているので是非挑戦してみましょう。
「なぜテストが必要なのか?」という点も、第5回を通して理解が深まると思います。
しかしResponderには、Djangoと違って独自のテスト機能はありませんので、Responderにおけるテストは工夫が必要になってきます。
記事はこちら
第6回~静的ファイル管理編~
第6回目でも、アプリ開発の核から少し離れ、静的ファイルの管理についての内容になります。
今まで作ってきたビューは、サーバーが自動的にHTMLを生成したものが主でした。
しかし、一般的にWebアプリケーションは、CSSやJavascript、画像などの静的(static)ファイルが必要不可欠です。
本記事では、Responderにおける静的ファイル管理の仕方について学んでいきたいと思います。
記事はこちら
第7回~adminページ改良編~
第7回目は、最後のチュートリアルになります。
今回は、よりアプリケーションを使いやすくするために、管理者(admin)ページの改装をしていきたいと思います。
いくら最低限の機能があったとしても使いづらかったらアプリケーションとしての価値はありません。
そこで「質問の追加機能」や「検索機能」をいじっていきたいと思います。
Responder や SQLAlchemy の扱いに慣れてきている読者の皆様には、さほど難しい話ではなくなってるはずです!
記事はこちら
番外編~さらなるアプリ改良~
今回の記事は、「Djangoチュートリアル」には載っていませんが、第7回までに作ってきたアプリケーションを改良していきたいと思います。
「Webアプリケーションとして、さらにユーザに満足してもらうには?」
「Webアプリケーションに他に必要なものは?」
など様々な視点で改良していきます。
ここまで来るとResponderの内容だけでなくPythonやWebアプリケーションの知識がさらに身につくことでしょう。
記事はこちら
最後に
Djangoチュートリアルを一通り終え、さらにその先までアプリ作成してみました。
本連載を読んで一緒に実装していくとResponderの使い方だけでなく、Webアプリケーション構築の基礎まで細かく学べます。
Responder は、まだまだ発展途上なフレームワークです。
これからのアップデートで、さらに便利な機能がデフォルトで追加されると思うので、楽しみですね。
今回、作成したアプリのソースは、Githubにアップしています。
【ソースはこちら】
https://github.com/rightcode/ResponderTutorial
少しだけディレクトリ構成などが異なっていて、本連載の「responder」ディレクトリは「ResponderTutorial/polls」にあたりますのでご注意を!
連載終了!
これで「Responderを使ってDjangoチュートリアルをやってみた」の連載は終了となります!
全8回に渡ってご愛読いただいたみなさま、ありがとうございました!
ぜひ、当ブログの他の記事も読んでみてくださいね。
一緒に働いてくれる仲間を募集しております!
ライトコードでは、仲間を募集しております!
当社のモットーは「好きなことを仕事にするエンジニア集団」「エンジニアによるエンジニアのための会社」。エンジニアであるあなたの「やってみたいこと」を全力で応援する会社です。
また、ライトコードは現在、急成長中!だからこそ、あなたにお任せしたいやりがいのあるお仕事は沢山あります。「コアメンバー」として活躍してくれる、あなたからのご応募をお待ちしております!
なお、ご応募の前に、「話しだけ聞いてみたい」「社内の雰囲気を知りたい」という方はこちらをご覧ください。
ライトコードでは一緒に働いていただける方を募集しております!
採用情報はこちら