【Django】チュートリアル|日報アプリの開発から公開まで

※本サイトにはプロモーション・広告が含まれています。

✔このような方へ向けて書かれた記事となります

「DjangoでWebアプリ開発にチャレンジしてみたい!」

「Djangoの情報が英語ばかり、日本語で充実したチュートリアルで独学したい!」

「アプリ開発だけでなく、Web上に公開するまでの情報を探している」

✔当記事を通じてお伝えすること

  • Djangoの始め方
  • Djangoで簡易的な日報アプリの作り方
  • 作成したアプリをネット上に公開する一から十まで

当チュートリアルの特長は、Djangoフレームワークのチュートリアルに留まらず、Web上に公開するまで全ての情報を無料で公開しています。

次章より上から順を追っていくと、簡単な日報アプリが完成し、最後にはWebで公開することができるようになります。

✔YouTube始めました

チュートリアルの解説動画を始めました。

そのほかにもご要望があれば、何でも解説していきます。

コメント欄にぜひリクエストしてください。

筆者プロフィール

筆者プロフィールアイコン

【現職】プロダクトマネージャー

【副業】ブログ(月間20万PV)/YouTube/Web・アプリ制作

「プログラミング × ライティング × 営業」の経験を活かし、30後半からのIT系職へシフト。現在はプロダクトマネージャーとして、さまざまな関係者の間に入り奮闘してます。当サイトでは、実際に手を動かせるWebアプリの開発を通じて、プログラミングはもちろん、IT職に必要な情報を提供していきます。

【当ブログで紹介しているサイト】

当サイトチュートリアルで作成したデモ版日報アプリ

Django × Reactで開発したツール系Webアプリ

✔人に見せても恥ずかしくないコードを書こう

「リーダブルコード」は、わかりやすく良いコードの定義を教えてくれる本です。

  • 見るからにきれいなコードの書き方
  • コードの分割方法
  • 変数や関数の命名規則

エンジニアのスタンダートとすべき基準を一から解説しています。

何回も読むのに値する本なので、ぜひ手にとって読んでみてください。

【第1章】日報アプリ開発を始めよう!

こちらの章では、Djangoプロジェクトの立ち上げから最初のデータベース操作について解説しています。

【1-0】virtualenvでDjangoの開発環境を整える 5ステップ
【1-1】Djangoのインストールからブラウザで表示する 5ステップ
【1-2】Django settingsで必ず最初に行う変更点 3つ
【1-3】startappと失敗しないための設定変更を解説
【1-4】日報モデルクラス〜アプリとデータベースを紐づける
日報アプリを作成するにあたり、最初のモデルを作りましょう!
【1-5】スーパーユーザーの登録とAdminページへアクセス
DjangoアプリのAdminページからデータベースを操作しよう
【1-6】Django 管理サイトでデータを操作|構成と使用方法を徹底解説
【1-7】__str__メソッドとは?使い方の徹底解説|実例コード付

【第2章】HTMLファイルとPythonファイルを連動させる

こちらの章では、一般向けユーザーのページを作る方法を解説していきます。

frame-img
【2-1】超カンタン!HTMLファイルを表示する方法を解説
passing values
【2-2】views.py から HTML(テンプレート)へ 値を渡す
【2-3】URLのクエリパラメータを取得する方法
【2-4】base.htmlを作成して繰り返しの記述を避ける
get value from form
【2-5】formの値を受け取る方法をたったの1行で解説
naming page and link
【2-6】リンク先(href)はページ名にしよう!

【第3章】データベースの情報をブラウザへ表示しよう!

こちらの章では、いよいよDjangoフレームワークの最大の特長「データベースとブラウザの連携」について見ていきます。

日報アプリの機能を徐々に作っていきましょう。

データをリストで表示
【3-1】データベース内のデータをブラウザで表示しよう!
【3-2】ブラウザ/フォームから値を受けとり、データベースへ新規に保存する方法
フォームクラスを使ってフォームを表示しよう!
【3-3】Formクラスを使ったフォームの表示方法とデータの受け取り方を徹底的に解説します!
【3-4】アップデートビュー|データベースの値を初期値とする方法と上書き保存
Djangoテンプレート if文 条件分岐の書き方
【3-5】HTMLテンプレートでif文!?if文 ifタグの書き方をわかりやすく解説!
【3-6】404ページを設定しよう!
【3-7】既存データを削除するページを作成する方法【deleteメソッド】
【3-8】超カンタン!指定のページへリダイレクト「redirect」メソッドの使い方を解説
【3-9】テストプログラムでエラーチェックをしよう!

【第4章】Bootstrapを使ってページの見た目を整えよう

簡単にCSSが適用できる「Bootsrap」を使って見た目を整えていきます。

Djangoの仕組みだけマスターしたい方は飛ばしても問題ありません。

【4-1】超カンタン!Bootstrapの基本とナビゲーションバーを作る方法を解説!
DjangoアプリでCSSファイルを読み込む方法
【4-2】外部CSSファイルを読み込む方法【フッターを作る|実例付】
【4-3】HTMLを分割「include」タグを使ってスッキリ見やすくする方法
【4-4】たったの10分で一から背景透過のロゴができる
【4-5】画像を表示する方法
laptop-img
【4-6】複数のフォームでクラスを一気に追加する方法|forms.py __init__メソッドの使い方
【4-7】モーダルを使ってかっこいい削除機能を実装しよう!【Bootstrap】

【第5章】クラスベースビューってなに?

こちらの章では、一般ユーザー向けのページをよりPythonらしく「DRY」にしていきます。

ListView Basics
【5-1】3行でできるListViewの基本・書き方
DetailView
【5-2】 単純明快!クラスベースビュー「DetailView」の書き方・基本を徹底解説!
【5-3】クラスベースビュー「FormView」の基本~表示方法、データの受取から保存までを徹底解説!
【5-4】ページ名からURLを取得する「reverse」「reverse_lazy」違い、使い方を丁寧に解説!
【5-5】ModelFormクラスであっという間にできるCreateViewとUpdateView
【5-6】モデルフィールド「TextField」とモデルフィールド名を指定する「verbose_name」について
DeleteView
【5-7】DeleteViewの書き方・基本を解説

【第6章】ユーザーモデルクラスについて

Django最大の特長の一つ、「ユーザー認証」について触れていきます。

Djangoを扱うのであれば、必ず覚えておきたい知識です。

【6-1】オリジナルのユーザーモデルクラスを作成|emailでのログイン方法へ変更
painting
【6-2】ユーザークラスのAdminページを見やすく変更|UserAdminクラスについてわかりやすく解説!
【6-3】django-allauthでユーザー認証を一から構築|導入と設定方法を解説
【6-4】django-allauth でログイン・ログアウト機能をカスタマイズする方法
【6-5】超カンタン!メールをターミナルに表示する方法を解説|「ConnectionRefused」エラーを回避しよう!
【6-6】django-allauthのtemplates変更|実例付
ユーザーモデルクラス, django-allauthのテストプログラムを作ろう
【6-7】ログイン、ログアウト、サインアップページのテスト|django-allauthの各ページをtest.pyでチェックしよう!

【第7章】日報モデルクラスとユーザーモデルクラス

外部キーと呼ばれる、一つのモデルから別のモデルを参照する方法について解説していきます。

アプリ開発には欠かせない知識です。

【7-1】モデルフィールド「Foreign Key」でユーザーと日報を紐付ける
light
【7-2】クラスベースビューでアクセスを制限【LoginRequiredMixin】|ログインユーザーへのみページを表示する
connect
【7-3】ログイン以外でのアクセス制限|UserPassesTestMixinとuser_passes_test ユーザー認証の基本と実例
【7-4】メッセージフレームワークの書き方と実例
【7-5】templatetags|テンプレートタグを自作
【7-6】ログイン判定機能の実装方法を解説
【7-7】OneToOneFieldについて|書き方と実例でわかりやすく解説します
【7-8】複数のモデルクラスを同一ページで編集する|ユーザークラスのAdminフォームをカスタマイズ
【7-9】signals を使って、Profileを自動生成する
laptop-img
【7-10】adapterのカスタマイズ|動的にログイン後のリダイレクト先を変更する
requetsの生成とアダプタテスト
【7-11】allauthのテストプログラム|RequestFactoryでrequestを生成
【7-12】Djangoフォームでバリデーションを実装する方法

【第8章】公開前にブラッシュアップ!機能の追加

各単元ごとに開発を進めてきましたが、公開前に日報アプリとして修正を加える箇所がいくつかあります。

テーマ別で記事にしていますので、①ご興味のあるもの②上から順にと、お好きな方法で学習して下さい。

【8-1】日報に新しいフィールドの追加「公開・非公開」
【8-2】pyファイルをまとめてモジュール化 する
search-form
【8-3】検索機能 Search method を追加する
【8-4】SlugFieldの追加
【8-5】モデルフィールドのデフォルト値を関数で設定
【8-6】DateFieldをカレンダー入力に変更
laptop-img
【8-7】django-filterを導入して、フィルターを実装
【8-8】ユーザー別のリストページを作成

【第9章】本番環境へデプロイ

実際にWeb上でアクセスするための大事な部分です。

Djangoそのものの知識とは違いますが、公開されている情報も少ないのでとても貴重な記事になります。

【9-0】DjangoアプリでPostgreSQLを設定する方法
deploy-settings-django
【9-1】デプロイ前に必ずやっておきたいこと3選
【9-2】Webアプリをネットで公開する流れと最初の一歩
【9-3-1】自前のコンピューターを準備しよう!
【9-3-2】クラウド上でUbuntu OSを準備する
【9-4】SSH接続とは?リモートコンピューターへアクセス
make-web-server
【9-5】Webサーバーの構築 Ubuntu × Apache2
【9-6】DjangoアプリをApache Webサーバーで公開

【第10章】デプロイ後にやること

今までのローカル環境と本番環境でやるべきことは違います。

Web上での公開ができたらやっておきたいことを下記にまとめています。

【10-0】「固定IPアドレスを持っていない!」という方へ
【10-1】独自ドメインの取得
domain-ipaddress
【10-2】IPアドレスと独自ドメイン@DigitalOcean
【10-3】無料でSSL化
【10-4】WebアプリでGメールを使う
【10-5】サイトマップを作成
【10-6】サーチコンソールへ登録
【10-7】タイトルとメタディスクリプション
【10-8】お問合せフォームの作成

わからないことがあったら

もしご不明な点があれば、当ブログのお問い合わせフォームから、もしくは私のツイッターアカウントでご質問受けつけます。

せっかくの学習を無駄にせず、わからないことは聞いて下さい。

問い合わせフォームはこちら

タイトルとURLをコピーしました