学習時間 | 15時間 |
---|---|
難易度 | 初級 |
質問投稿 | 可 |
Djangoでブログアプリを開発しよう!
Djangoを用いたBlogアプリケーションWebサイトの開発! Webアプリケーション開発において重要なCRUD機能、データの検索やフィルタリング、ユーザ認証、 アクセス制御の実装方法についてわかりやすく解説。
【初学者向けに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を使った認証機能の実装方法
・利用、カスタムテンプレートの適用方法も解説)
・ユーザ認証済みの場合のみブログ記事の作成、変更、削除を可能にする方法
作成物のイメージ
本教材の対象者
・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でも学習は可能です。
カリキュラム
- 2-1 アプリケーションの実装
- 2-2 モデルの定義
- 2-3 管理者ユーザの実装
- 2-4 adminサイトのカスタマイズ