【無料】「Djangoのキホン」スタートガイド(コースの紹介)【Udemyで学習】

www.youtube.com

みなさんこんにちは。Djangoのキホンコース担当の小野宏司です。このビデオではコースの概要と特徴について解説していきたいと思います。

私は30年以上にわたって通信キャリアでシステム開発に従事し、フルスタックエンジニアとして多くのWeb開発を行ってきました。JavaRuby, Python など、多くのプログラミング言語に精通しています。

このコースは、Djangoに興味を持っているエンジニアや学生が、公式ドキュメントの「Djangoの概要」を講師の言葉や講師のデモにより学ぶことで、Djangoの魅力を感じ、Djangoへの第一歩を踏み出すためのコースです。

このコースがどのような受講生を対象にしているかをお話します。
まずは「Djangoとは何か、どのようなメリットがあるのか知りたいエンジニアや学生」
それから「Djangoを使ってみたいエンジニアや学生」
そして「Djangoスキルを必要としているエンジニアや学生」
などの受講生を対象としています。

このコースを完了した受講生は
Djangoの概要・メリットを短時間で習得できます。」
それから「Django開発について一連のステップを理解することができます。」
そして「DjangoでのWebアプリ開発が、いかに効率的かわかります。」
さらに「本コースで感じたDjangoの魅力を、他の人に伝えることができます。」

次に、このコースの構成を説明します。

このコースは「第1章Djangoの概要」だけで構成されています。「第1章Djangoの概要」は13のレクチャーで学習します。

このコースの特徴は、公式ドキュメントの「Django の概要」をベースとしたレクチャーであるため、Djangoビギナーに対して、ムラや抜けがないコース内容となっていることです。
それから、公式ドキュメントの内容を講師の言葉、講師のデモでお伝えすることです。
次は、理論(スライドで説明)と実演(デモンストレーション)のレクチャーで、理解の定着を図ることができることです。
そして、一時間強という短い時間でグッと凝縮して習得可能なことです。
最後、何と言っても無料で受講できることです。

このコースを受講するにあたってどのような知識やツールが必要かを、ご説明します。
これから説明する各種基礎知識は必須ではありません。知っていれば、より深く理解できるものです。
Python言語の基礎知識」リスト、タプル、辞書などの知識。
Pythonオブジェクト指向プログラミングの基礎知識」クラス、インスタンス、フィールドなどの用語を知っていることが理想です。
SQLの基礎知識」SELECT,INSERT,UPDATE,DELETEが何なのか。
「リレーショナルデータベースの基礎知識」テーブルの関連付けの概念などです。
「HTMLの基礎知識」
「Webアプリーケーション開発の基礎知識」リクエスト・レスポンス・セッションが何なのかなどです。

最後に、本コースのスクリーンショットを、ご覧いただいています。スライド、講師のエディタ操作、開発アプリの動作検証、講師のシェル操作などを使ってお伝えします。

このコースを受講すると、Djangoを利用することで、Webアプリケーションが効率的に作ることできる、ということがわかっていただけると思います。みなさんのスキルにDjangoがプラスされたら、私も喜ばしく思います。

それでは皆様とコース内でお会いできることを楽しみにしています。一緒に学んでいきましょう。

以上「Djangoのキホンコース」の紹介でした。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_basics/?referralCode=D0729A1E341CE9EC4909
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」第Ⅱ部 第7章「マイグレーション(初級)」について【Udemyで学習】

 

www.youtube.com

第Ⅱ部 第7章「マイグレーション(初級)」

はじめに、第Ⅱ部 第7章「マイグレーション(初級)」で、習得できる事項を3つ紹介します。

1つ目は、「マイグレーションとは何かがわかる」です。

2つ目は、「4つのマイグレーションコマンドを理解できる」です。マイグレーションを実行するコマンド以外に、SQLを表示するコマンドや、マイグレーションのリストを表示するコマンドがあることを、理解できます。

3つ目は、「マイグレーションのワークフローを理解できる」です。makemigrationsコマンドとmigrateコマンドの実行順序と連携を把握できます。

次に、このセクションのレクチャーの流れについてお話しします。

まず、最初のレクチャーで「マイグレーションの概要」を説明します。マイグレーションとは何かを、お伝えします。

次は「マイグレーションのコマンド」です。Djangoマイグレーションに関連する、4つのコマンドの概要を説明します。

次に「マイグレーションのワークフロー」について説明します。マイグレーションのコマンドをどのような順番で実行するのかを、お伝えします。

それでは、第Ⅱ部 第7章「マイグレーション(初級)」を始めます。一緒に学んでいきましょう。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」第Ⅱ部 第6章「クラスベースビュー(初級)」について【Udemyで学習】

www.youtube.com

第Ⅱ部 第6章「クラスベースビュー(初級)」

はじめに、第Ⅱ部 第6章「クラスベースビュー(初級)」で、習得できる事項を1つ紹介します。

それは、「クラスベースビューの魅力を知ることができる」です。関数ベースのビューと比較して、ビューを少ない行数でコーディングできる魅力を知ることができます。

次に、このセクションのレクチャーについてお話しします。

このセクションのレクチャーは「クラスベースビューの魅力」1つです。モデルからデータを取得し、テンプレートでレンダリングするビューを、たった4行で実現する魅力をお伝えします。

それでは、第Ⅱ部 第6章「クラスベースビュー(初級)」を始めます。一緒に学んでいきましょう。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」Django テンプレート言語(タグ)【Udemyで学習】

www.youtube.com

このレクチャーでは「Djangoテンプレート言語のタグ」を説明します。

スライドの例でご覧いただている通り、タグは、波括弧とパーセントで囲まれています。Djangoテンプレート言語にはいろいろな機能のタグが準備されていて、例えば、ifステートメントやforループ、文字列加工のためのタグや、日付整形のためのタグなどがあります。

スライドで、3つのタグの例をご覧いただています。1つ目は、csrf_tokenタグです。このタグは、引数を指定しないタグに分類されます。csrf_tokenタグは、セキュリティ対策として、クロスサイトリクエストフォージェリのための、トークン文字列に変換されます。二つ目は、cycleタグです。このタグは、引数を指定するタグです。cycleタグは、ループの中で使用され、繰り返しの最初の実行ではoddに変換され、2回目はeven、3回目は再びoddというように、ループを繰り返すたび、交互に処理されます。3つ目は、ifタグとendifタグです。このように、開始タグと終了タグが必要なタグもあります。

以上で「Djangoテンプレート言語のタグ」の説明を終わります。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」第Ⅱ部 第5章「テンプレート(初級)」について【Udemyで学習】

www.youtube.com

第Ⅱ部 第5章「テンプレート(初級)」

はじめに、第Ⅱ部 第5章「テンプレート(初級)」で、習得できる事項を3つ紹介します。

1つ目は、「Djangoのテンプレート機能に関する、基本を理解することができる」です。複数のテンプレートエンジンが利用可能であることなど、テンプレート機能の基本を理解することができます。

2つ目は、「Djangoテンプレート言語の基本を理解することができる」です。オススメのテンプレートエンジン「Djangoテンプレート言語」の基本について理解することができます。

3つ目は、「Djangoテンプレート言語の変数・タグ・フィルタが何なのか理解できる」です。それぞれの記載方法の基本が理解できます。

次に、このセクションのレクチャーの流れについてお話しします。

まず、最初のレクチャーで「テンプレートの概要」を説明します。Djangoでは複数のテンプレートエンジンが利用可能なこと、標準装備のDjangoテンプレート言語がオススメなことをお伝えします。

次は「Django テンプレート言語(構文)」です。Djangoテンプレート言語には、特別な構文として「変数」「タグ」「フィルタ」があることを説明します。

次に「Django テンプレート言語(変数)」について説明します。テンプレートにおける、変数の使用方法について、サンプルで解説します。

Django テンプレート言語(タグ)」では、タグとは何なのかと、テンプレートにおける、タグの使用方法について、3つのサンプルで解説します。

次は「Django テンプレート言語(フィルタ)」です。フィルタとは何なのかと、テンプレートにおけるフィルタの使用方法について、2つのサンプルで解説します。

次に「Django テンプレート言語(コメント)」について説明します。一行コメントと、複数行コメントの記載方法をお伝えします。

それでは、第Ⅱ部 第5章「テンプレート(初級)」を始めます。一緒に学んでいきましょう。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」フォームを作る(ビューを作る)【Udemyで学習】

www.youtube.com

このレクチャーでは「フォームを作る(ビューを作る)」を説明します。

ご覧いただいているPythonスクリプトが、名前だけを入力するフォームのビュー関数です。views.pyの中にget_nameという名前でビュー関数が定義されています。

このビュー関数の振る舞いについて説明します。はじめは、フォームを初期表示するためのGETメソッドによるアクセスがあるでしょう。その際は、request.methodの判定がelse、具体的には下から3行目に到達します。ここでは、前のレクチャーで説明したNameFormクラスを、引数無しでインスタンス化して、form変数に設定しています。その後、最後の行のrenderショートカット変数によって、HTMLが自動生成されます。レンダリングの際のテンプレートはname.html、コンテキストにはformキーワードでform変数を指定しています。繰り返しになりますが、form変数はNameFormクラスを引数無しでインスタンス化しています。そのことによって、レンダリングされたHTMLでの入力フォーム部品は、全て値なしで表示されます。

ブラウザで名前を入力し、OKボタンによってサブミットされた場合、POSTメソッドによって、このビュー関数がコールされます。その場合は、request.methodの判定がPOSTのルートに入ります。はじめに、NameFormクラスをインスタンス化していますが、GETの時と違い、引数にrequest.POSTを設定しています。この引数によってNameFormインスタンスに、POSTデータが格納されます。Djangoでは、このようにPOSTデータが格納されたFormインスタンスを「くくりつけられたフォーム」「フォームにデータをくくりつける」と呼びます。

次に、is_validメソッドにより検証(バリデーション)が実行されます。検証OKの場合は、Trueが返ってくるので、このスクリプトの場合は、次に進むためのHTTPリダイレクトを、ブラウザに送信しています。実践では、リダレクトする前に入力されたデータを、データベースに格納することが多いと思います。その場合は、NamaFormインスタンスのcleaned_data属性にアクセスしてモデルに保存する、という流れになります。

このように、フォームのためのビュー関数では、GETアクセスによるフォームを表示するためのロジックと、POSTによってフォームから送信されてきたときのロジックを、一つのビュー関数で作り込むことが多いです。

以上で「フォームを作る(ビューを作る)」の説明を終わります。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★

「Djangoパーフェクトマスター」Djangoにおけるフォーム【Udemyで学習】

www.youtube.com

このレクチャーでは「Djangoにおけるフォーム」を説明します。

Webアプリケーションのフォーム開発は、HTMLのform要素だけで実現されるものではありません。フォームにデータを表示したり、送信されてきたデータを格納するためのクラス、ブラウザから送信されてきたときのデータの処理など、これら全て具備することが「フォーム開発」なのです。

Djangoのフォーム開発の中心は、Formクラスです。Djangoのモデルが、データベーステーブルの論理構造や、振る舞いのカスマイズなどを定義するのと同じように、Formクラスも、フォームの構造や振る舞いのカスタマイズを定義します。

Modelクラスのフィールドが、データベーステーブルのカラムと対応するのと同じように、Formクラスのフィールドは、HTMLのinput要素に対応します。ModelクラスとFormクラスは別々に定義するのですが、実際の開発では、モデルとフォームの構成要素がほぼ同じ、というパターンも多いと思います。実は、Formクラスの構成要素は書かずに、Modelで定義したフィールドを利用して、Formクラスのフィールドにしてしまう「ModelForm」というクラスもあるのですが、別の場で説明したいと思います。

Formクラスのフィールドは、CharFieldやEmailFieldのようなクラスのインスタンスです。ブラウザからフォームのデータが送信されたとき、検証をして、データを保持します。フィールドは、HTMLの入力部品と紐付いています。入力部品は「ウィジェット」と呼ばれています。独自のウィジェットを作ることも、フィールドとウィジェットとの紐付けを変更することも可能です。

Djangoでは、モデルのインスタンスをHTMLで表示するとき、通常は次のような手順をとります。手順1では、ビュー関数の中で、モデルからインスタンスを取得します。クエリを使用して、データベースから取得することが多いと思います。手順2で、取得したインスタンスを、コンテキスト変数に乗せて、テンプレートへ引き渡します。手順3は、コンテキストとして引き継いだモデルのインスタンスを、テンプレートの変数タグを使って表示します。

フォームで入力フィールドを表示するときに、あらかじめデータを入れた状態で表示するのか、空の状態で表示するのか、二種類の状態があると思います。あらかじめデータを入れた状態にするケースとしては、次の3つのケースが考えられるでしょう。一つ目は、データベースに保存されたデータを、入力フィールドに表示するケース、二つ目は、データベース以外から取得したデータを、入力フィールドに表示するケース、三つ目は、前回のHTMLフォームの送信で、受信したデータを表示するケースです。三つ目のケースに関しては、サーバ側でのデータ検証で、エラーになった場合などが考えられます。検証でエラーが発生した場合、ブラウザに「正しく入力してください」とエラーメッセージを表示しているにも関わらず、全てのフィールドが空の状態だったら、利用者は怒ってしまうでしょう。

以上で「Djangoにおけるフォーム」の説明を終わります。

★★★ 続きはUdemyで ★★★
https://www.udemy.com/course/django_master/?referralCode=3B5D0AF66B09A7B8DD25
★★★ コース内でお逢いできることを楽しみにしています。 ★★★