カテゴリー
サインイン 新規登録

間違いや改善の指摘

内容の技術的な誤り・誤字脱字やミスのご報告・解説やトピックの追記/改善のご要望は教材をさらに良くしていく上でとても貴重なご意見になります。

少しでも気になった点があれば、ご遠慮なく投稿いただけると幸いです🙏

実際には誤りではなく勘違いであっても、ご報告いただけることで教材のブラッシュアップにつながります。

質問ポリシー①

教材受講者みなさんのスムーズな問題解決のために、心がけていただきたいことがあります。

教材の内容に関する質問を投稿しましょう

教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。

その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。

0-1

教材の概要

Djangoでブログアプリを開発しよう!【Django】

本教材はpythonプログラミング言語の上で動作するWebアプリケーションフレームワークであるDjangoを使ってブログアプリを開発しながらDjangoの基礎をしっかりと学習できる内容になっています。

本教材はDjango入門者をターゲットにしており、初学者が挫折しないよう基本かつ重要な事項に絞って丁寧に解説を行います。

Djangoの基礎から入り、CRUD機能(データの参照や作成、編集、削除)の実装方法を学び、応用編としてデータの絞り込み機能(フィルタリング)や検索機能、ユーザ認証、権限制御(ログオンしているユーザのみデータの変更ができる)の実装についても学ぶことができる内容となっています。

これからDjangoに入門する方に最適な教材となっていますので、この教材からDjango学習をぜひ始めてみましょう!

教材を進めて行く上で質問項目がございましたら、「質問」の箇所からご質問ください。

本教材が終えたらどのような状態になっているか

  • Djangoの基本的な仕組みが理解できるようになる。
  • DjangoでCRUD機能を搭載したWebアプリケーション実装ができるようになる。
  • Djangoでデータのフィルタリング機能(特定条件でデータを絞り込む)、検索機能(任意の文字列で検索)を実装できるようになる。
  • Djangoでユーザ認証機能(ログオン、ログアウト、ユーザ登録、パスワードリセット)の実装ができるようになる。
  • Djangoで権限制御の実装(ログオンユーザのみデータ変更が可能、ログオンしていない場合はデータの参照のみが可能)ができるようになる。

※CRUDとはCreate(登録)、Read(参照)、Update(更新)、Delete(削除)機能をまとめた表現のこと

受講における必要条件

  • HTML/CSSの基礎知識(<div><ul><img><form><link>)などのタグの使い方とCSSを用いた装飾の仕方を理解している。
  • pythonの初歩的な知識(変数、配列、if文、import、メソッド・クラス)の概念を理解している。
  • データベースの初歩的な知識(リレーショナル型データベースの概念)を理解している。
  • 簡単なDOSコマンドラインの知識(cdpwdなど)を使ったことがある。

pythonを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。
リレーショナル型データベース(RDBMS)について何もわからないという方は、インターネット等で基本的な概念だけでも学習しておくことをお勧めします。

この教材の対象者

  • pythonは学んだことがあるがDjangoはあまり触ったことがない方
  • Djangoの開発の大まかな流れを把握したい方
  • pythonでAIアプリを開発する前準備としてDjangoでウェブアプリ開発方法を学びたい方

学ばないこと

本教材はDjangoのWebアプリ開発の流れを把握することを一番の目的としており、HTML・CSSの解説は詳しく行いません。
また、本番環境へのデプロイ(Webサイトの公開)等についても含みません。

細かく知りたい方はご自身で調べていただければと思います。

本教材の対応バージョン

  • django 4.x
  • python 3.8、3.9、3.10

本教材は上記バージョンで動作確認を行っています。
上記より古いバージョン(Django3.x)でも基本的には動作すると思われますが、画面デザインが一部異なったりバージョン依存のエラーが発生する可能性があるため、動作確認済みバージョンで学習されることをお勧めします。

作成するアプリケーションのイメージをつかもう

本教材で開発するブログアプリのデモ動画を用意しました。
ブログ記事の一覧表示、詳細表示、編集、削除、記事のフィルタリング、記事の文字列検索といったWebアプリケーション開発において基本的かつ重要な機能の実装を行っていきます。
デモ動画にはありませんが、ユーザ認証機能の実装も行います。

Image from Gyazo

学習における注意点

初学者のうちは、最初から100%理解することは不可能です。
しかし、最初から100%理解する必要は全くありません。
一番初めは言っていることの2,3割がわかればよく、兎に角手を動かして動くものを作ってみましょう。
人は学習したことを直ぐに忘れてしまうので、次の章に行く前に前の章の内容を必ず復習してから進みましょう。
また、この教材のすべてを一度終えたら、必ず最初から繰り返しブログアプリの開発を行ってみましょう。
2回目、3回目と同じことを繰り返すうちにDjangoの基礎が体に染みついていくはずです。

執筆者について

現職は、某大手IT企業で基幹系システムのインフラ構築、運用保守をメイン業務としています。範囲はハードウェア、ミドルウェア、アプリケーションと幅広く担当しています。PythonやDjango等を活用した業務改善も行っています。

最近ではDjangoに関する書籍はかなり増えてきたと思います。
ただし、ある書籍では初心者には難しい内容を多く含んでいたり、別の書籍では本当に基本的な機能の実装だけで終わっていたりします。

基礎+αで最低限の実用的な機能実装まで網羅したDjango教材を作り、初学者の学習のお手伝いができればという思いからこの教材を執筆しました。
一人でも多くのDjango初学者が挫折しないよう、基本やポイントを丁寧に解説するように心がけました。

目次

0章 はじめに

  • 0-1 Djangoでブログアプリを作ってみよう!
  • 0-2 開発環境について
  • 0-3 Djangoブログアプリの設計を考える

第1章 トップページの実装

  • 1-1 Djangoの全体像
  • 1-2 Djangoの構成要素
  • 1-3 プロジェクトの実装
  • 1-4 Webページを立ち上げる
  • 1-5 Djangoの基本設定
  • 1-6 Djangoのルーティング
  • 1-7 DJangoのビュー
  • 1-8 DJangoのテンプレート
  • 1-9 DJangoの管理コマンド群
  • 1-10 関数ベースビューとクラスベースビュー(基礎)
  • 1-11 関数ベースビューとクラスベースビュー(応用編)

第2章 ブログアプリの実装(前編)

  • 2-1 アプリケーションの実装
  • 2-2 モデルの定義
  • 2-3 DBの接続設定
  • 2-4 adminサイトのカスタマイズ

第3章 ブログアプリの実装(後編)

  • 3-1 CRUD機能の設計について考える
  • 3-2 一覧画面の実装1
  • 3-2 一覧画面の実装2
  • 3-2 一覧画面の実装3
  • 3-3 新規登録画面の実装1
  • 3-3 新規登録画面の実装2
  • 3-4 詳細画面の実装
  • 3-5 更新画面の実装
  • 3-6 削除画面の実装
  • 3-7 フィルタ機能の実装
  • 3-8 検索機能の実装

第4章 認証機能の実装

  • 4-1 ユーザ認証機能の概要
  • 4-2 Django-allauthを使ったユーザ認証機能の実装1
  • 4-3 Django-allauthを使ったユーザ認証機能の実装2
  • 4-4 Django-allauthにカスタムテンプレートを適用する