PythonのWebアプリケーションフレームワークであるDjangoは、定義したデータモデルを元に一覧画面や入力画面を動的に出力する「クラスベース汎用ビュー(class-based generic views)」という仕組みを持っています。この仕組みを活用することで、単純なCRUD操作(登録・参照・更新・削除)を行うWebアプリを短時間で作成することが可能です。

Djangoのクラスベース汎用ビュー

Djangoのクラスベース汎用ビューは、定義したデータモデルを元に一覧画面や入力画面を動的に出力する仕組みです。これを活用すると、単純なCRUD操作(登録・参照・更新・削除)を行うWebアプリを短時間で作成することができます。さらにDjangoのユーザー管理機能を加えてHeroku等のプラットフォームにデプロイすれば、インターネット上で運用することが可能です。

Djangoのチュートリアル

Djangoのチュートリアルは良質のものがネットで読めますが、クラスベース汎用ビューの活用まで触れているものは少ないです。そのため、この記事では少人数での情報共有ツールを想定したサンプルコードを紹介します。

Djangoの実用的なアプリケーション

この記事では、実用的なものを目指しましたので、活用していただけると嬉しいです。参考として、Djangoにおけるクラスベース汎用ビューの入門と使い方サンプルをご覧ください。

Djangoの開発環境

執筆環境としては、python 3.7.0とDjango 2.1.3を使用しています。この記事で作るものとしては、サンプルとして名簿アプリを作ります。画面イメージとしては、モデルで管理するのは人物情報となります。このモデルに対し以下の機能をつけます。

  • 登録、参照、更新、削除
  • 検索、並べ替え、ページング
  • ログイン、ユーザ管理(Djangoの基本機能を利用)

後述しますが、クラスベース汎用ビューはモデルの変更に追従して画面出力項目も変更されるので、これをタスク管理ツールや帳簿管理ツールに容易に変更できます。自由にカスタマイズしてください。

Djangoのサンプルコード

Githubにプロジェクトのサンプルコードを置きました。アプリの実行には事前にpythonのインストールが必要です。ダウンロード後、ターミナルでプロジェクトのフォルダに移動し、下のコマンドを順番に実行するとアプリが起動します。ブラウザで「 7 」にアクセスし、createsuperuser で入力したID・PASSを使ってログインしてください。

Djangoのデプロイ

このサンプルはインターネットに公開してPCやスマートフォンから実際に使うことができます。インターネットへ公開するには何かしらの方法でインターネットに接続されたサーバを用意し設定作業を行う必要があります(これをデプロイといいます)。PaaSというタイプのクラウドサービスなら非常に簡単にデプロイ作業が完了します。

Djangoの参考資料

チュートリアル一覧として、この記事では記事内でアプリケーションの完成を目指すので、Djangoの細かい操作の説明は省きます。その代わりにDjangoの準公式チュートリアルである Django Girls Tutorial より、各項目に該当するページを参考記事としてリンクしました。それでも説明が至らない点があるとおもうので、適時他の方のチュートリアル記事を参考にしてください。Qiitaだと以下の記事がおすすめです。

  • Python Django入門 (1)
  • Python Django チュートリアルまとめ
  • Djangoでの開発 ダイジェスト
  • Django REST Frameworkを使って爆速でAPIを実装する ※WebAPIの記事だがWebアプリでも構造は大体同じ

以上、Python Django UIの活用についての記事でした。この記事が皆さんの開発に役立つことを願っています。.

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です