カテゴリー
サインイン 新規登録
学習時間 15時間
難易度 初級
質問投稿
価格 ¥1,980
月額 ¥2,980
Unlimited会員はこちらの教材を含む100種類以上のUnlimited対象教材が学び放題

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

Djangoを用いたBlogアプリケーションWebサイトの開発! Webアプリケーション開発において重要なCRUD機能、データの検索やフィルタリング、ユーザ認証、 アクセス制御の実装方法についてわかりやすく解説。

5
最終更新 2024/8
siny

【初学者向けにDjangoでWebアプリ開発を行うために必要な基礎知識を徹底解説】

Blogアプリケーションサイトを開発しながらDjangoでWebアプリケーションを開発する上で必須となる
重要事項(Djangoの全体像、CRUD機能実装、検索機能、ユーザ認証機能、アクセス制御の基礎)を学ぶことができます。

「Djangoで難しいと思うところはどこですか?」という問いに対して「全体像を理解するのが難しい」と回答した初学者が最も多かったという調査結果があります。

本教材では、公式ドキュメントや市販の書籍ではなかなか得られない初学者が理解しにくい部分を中心に全体フローがわかるような図解を交えて丁寧に解説します。

学習内容

・Djangoの構成要素と全体像の理解
  ・プロジェクトとアプリケーション
  ・Djangoの設計思想(MVT)
  ・Djangoの全体の仕組み
・関数ベースビューとクラスベースビューの理解
  ・関数ベースビューとクラスベースビューのどちらを利用すべきか
  ・関数ベースビューの実装手順
  ・クラスベースビューの実装手順
  ・クラスベースビューを使った場合の処理ロジックの理解
  ・クラスベースビューに独自処理を追加する方法
・Djangoのルーティングの作り方
  ・ルーティングの基礎
  ・adminサイトのURLパターンを変更する方法
  ・URLマッピング設定の構成の理解
  ・2階層のURLパターンを設定する方法
・ビューの作り方
  ・ビューの役割の理解
  ・TOP画面を表示する基本ビューを定義する方法
・テンプレートの作り方
  ・Djangoにおけるテンプレート設定方法
  ・テンプレートを一か所で統合管理する方法
・Django管理コマンドの理解
  ・mange.pyコマンドの使い方
  ・dbshellコマンドでデータベースの情報を確認する方法
・Djangoのモデルの定義
  ・リレーショナルデータベース(RDBMS)の基礎
  ・リレーションシップの種類について理解
  ・Djangoのモデル定義方法の基礎
  ・作成したモデルをデータベースに実装する方法
・adminサイトの使い方
  ・モデルをadminサイトに登録する
  ・データを登録する
  ・adminサイトをカスタマイズする
・DjangoによるWebアプリ開発で重要な要素の理解
  ・DjangoにおけるCRUD機能の開発の流れ
  ・Djangoのモデルマネージャの理解
  ・一覧表示機能の実装(ListView汎用クラスビューを利用)
  ・登録機能の実装(CreateView汎用クラスビューを利用)
  ・詳細画面機能の実装(DetailView汎用クラスビューを利用)
  ・更新機能の実装(UpdateView汎用クラスビューを利用)
  ・削除機能の実装(DeleteView汎用クラスビューを利用)
  ・検索機能の実装
  ・フィルタリング機能の実装(Qオブジェクトを使ったor条件の検索)
  ・HTTP通信の理解(GET,POSTメソッドの理解)
  ・Djangoのフォーム(Form)の理解
  ・CSRF(Cross Site Request Forgeries)対策の設定方法の理解
  ・URLの逆引参照の理解
  ・名前空間の理解
  ・2階層のテンプレート構成の理解
・Djangoにおけるユーザ認証機能の実装
  ・Djangoにおけるユーザ認証機能の実装方法の理解(組み込みの認証システムとパッケージの利用)
  ・Django-allauthを使った認証機能の実装方法
  ・利用、カスタムテンプレートの適用方法も解説)
  ・ユーザ認証済みの場合のみブログ記事の作成、変更、削除を可能にする方法

作成物のイメージ

Image from Gyazo

本教材の対象者

・pythonの基礎知識(基礎構文、関数、クラス)は取得した状態でDjangoに初めて入門する方。
・Djangoチュートリアルをやってみたけど理解できない部分が多くて挫折しそうな人。
・pythonでAIアプリを開発する前準備としてDjangoでウェブアプリ開発方法を学びたい方。

受講における必要条件

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

pythonを一度も触ったことがない方は、まずはProgate等で学習することをおすすめします。

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

学ばないこと

本教材はDjangoのWebアプリ開発の流れを把握することを一番の目的としているためHTML・CSSの解説は必要最低限しか説明しません。

また、本番環境へのデプロイ(Webサイトの公開)等についても含みません。
細かく知りたい方はご自身で調べていただければと思います。

本教材の対応バージョン

django 4.x
python 3.x

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

本教材で質問対応可能なOSや環境

・Windows

MacOSでも学習することはできますが、Windows環境前提で説明している部分を適宜Mac環境に置き換えていただく必要があります。ただし、Django自体の学習内容は基本的にOSに依存しないためMacOSでも学習は可能です。

カリキュラム

Section 0 はじめに
Section 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 関数ベースビューとクラスベースビュー(応用編)
Section 2 ブログアプリの実装(前編)
  • 2-1 アプリケーションの実装
  • 2-2 モデルの定義
  • 2-3 管理者ユーザの実装
  • 2-4 adminサイトのカスタマイズ

講師のプロフィール

教材のレビュー

5.0
1件の評価
100%
0%
0%
0%
0%
Hide 1年以上前
Djangoでの業務経験ありですが、理解度を高めるために本教材で学習しました。 解説が丁寧なので、クラスベースビューのgetメソッドをオーバーライドして独自の処理を追加したい場合など、正確に理解できてなかった箇所をきちんと理解することができました。わかりやすかったので、また何度か本教材を見返すことになるのではと思っています。 最後まで、特に詰まること無くやり切ることができました。 もっと見る