ファイルを作成します。インポートとリストを入力します。ファイルにモデルをいくつか作成します。このファイルでは、アプリケーションに保存するデータの概要を説明します。次に、Djangoは各モデルの情報を保存するために必要なSQL構文を決定します。モデルがどのようなものかを見てみましょう。models.IntegerField()このモデル定義で何が起こっているかを見てみましょう。最初の行では、Djangoのモデル・クラスを拡張する新しいモデルを作成します。以下では、出発地origin、目的地destination、および所要時間durationのフィールドを追加します。最初の2つは文字フィールドで、文字列を格納します。3番目は整数フィールドです。Fieldクラスのうちの2つにすぎません。2つの文字フィールドに対して64の最大長を指定します。ドキュメントを参照して、特定のフィールドで使用可能な仕様を確認できます。マイグレーションモデルを作成しましたが、この情報を保存するデータベースはまだありません。モデルからデータベースを作成するには、プロジェクトのメインディレクトリに移動して以下のコマンドを実行します。makemigrationsこのコマンドは、データベースを作成または編集してモデルに保存できるようにするためのPythonファイルを作成します。次のような出力が表示されるはずです。ディレクトリに移動すると、新しいファイルが作成されています。次に、これらのマイグレーションをデータベースに適用するために、次のコマンドを実行します。migrateここでは、いくつかのデフォルトのマイグレーションが独自のマイグレーションと一緒に適用されています。いうファイルがあります。シェルこれで、このデータベースへの情報の追加と操作を始めるために、Djangoのシェルを入力して、プロジェクト内でPythonコマンドを実行することができます。1つだけあることがわかります。これはあまりわかりやすい名前ではありませんが、修正できます。{self.destination}"ここでシェルに戻ると、出力が少し読みやすくなります。415これは良いスタートですが、前に戻って考えてみると、すべてのフライトの出発地と目的地として都市名を保存する必要はないので、おそらくフライトモデルに何らかの関連性のある空港の別のモデルが必要です。フィールドの変更は新しいものです。フィールドがそれぞれ外部キーであることを指定します。これは、外部キーが別のオブジェクトを参照していることを意味します。入力することで、このフィールドが参照するオブジェクトのタイプを指定します。空港が削除された場合の対処方法を示します。この場合、空港が削除されると、それに関連付けられているすべてのフライトも削除されるように指定します。以外にもいくつかのオプションがあります。関連する名前を指定すると、特定の空港を起点または目的地とするすべてのフライトを検索できます。変更を行うたびに、マイグレーションを行ってからマイグレーションを適用する必要があります。ニューヨークからロンドンへの既存のフライトは、新しいデータベース構造に適合しないため、削除しなければならない場合があります。migrateでは、Djangoシェルでこれらの新しいモデルを試してみましょう。(LHR)>]>アプリケーションの開始これで、モデルを使用してデータベースと対話するこのプロセスを中心としたアプリケーションの構築を開始できます。航空会社のインデックスルートを作成します。%}ここでは、これまでに作成したすべてのフライトのリストを表示するデフォルトページを作成しました。今ページを開くとこのような感じです。次に、Djangoシェルに戻って、アプリケーションにフライトを追加します。f.save()再びサイトを訪れると以下のようになります。Django管理Djangoにはデフォルトの管理インターフェースが用意されていて、これを使うと簡単に新しいオブジェクトを作成できます。このツールを使用するには、最初に管理ユーザーを作成する必要があります。ファイルを入力し、モデルをインポートして登録して、adminアプリケーションにモデルを追加します。これはDjangoに、adminアプリケーションでどのモデルにアクセスしたいかを伝えます。追加すると、次のようなページにログインできます。ログインすると、次のようなページが表示され、データベースに保存されているオブジェクトを作成、編集、削除できます。それでは、サイトにページを追加しましょう。フライトをクリックして詳細情報を表示する機能を追加します。含むURLパスを作成します。name="flight")次に、views.pyにフライトIDを取り込み、新しいhtmlページをレンダリングするflight関数を作成します。})テンプレートを作成して、このフライト情報とホームページへのリンクを表示します。%}最後に、1つのページから別のページにリンクする機能を追加する必要があるので、インデックスページを変更してリンクを含めます。%}今私たちのホームページはこのようになっています。フライト5をクリックすると、このページが表示されます。多対多の関係では、乗客をモデルに組み込む作業をしましょう。Passengerモデルを作成します。{self.last}"これまで述べてきたように、乗客はフライトと多対多の関係があり、これについては、DjangoでManyToManyFieldを使って指定します。このフィールドの最初の引数は、このオブジェクトが関連するオブジェクトのクラスです。これは、ある乗客に関連したフライトが存在しない場合もありうる、ということを意味します。これにより、特定のフライトのすべての乗客を検索できるようになります。これらの変更を実際に行うには、マイグレーションを行う必要があります。Passengerモデルを登録し、管理ページにアクセスして乗客を作成します。乗客を追加したので、フライトページを更新して、フライトのすべての乗客が表示されるようにします。アクセスしてフライトのビューを更新し、コンテキストとして乗客のリストを提供します。前に定義した関連する名前を使用してリストにアクセスします。乗客のリストを追加します。5をクリックすると、以下のようになります。私たちのサイトの訪問者にフライトを予約する機能を提供する作業をしてみましょう。予約ルートを追加します。フライトに乗客を追加するbook関数を追加します。args=(flight.id,)))次に、Djangoのクエリから特定のオブジェクトを除外する機能を使用して、現在フライトに搭乗していないすべてのユーザーがページからアクセスできるように、フライトテンプレートにコンテキストを追加します。})次に、選択入力フィールドを使用して、フライトページのHTMLにフォームを追加します。type="submit"></form>では、フライトページに移動して乗客を追加したときのサイトの外観を見てみましょう。Django管理アプリケーションを使用するもう1つの利点は、カスタマイズできることです。モデルの登録時に引数として追加できます。表示されるようになりました。Djangoの管理アプリケーションのカスタマイズ方法については、Django管理者ドキュメントを参照してください。今日のレッスンで最後に取り上げるのは、認証、つまりユーザがWebサイトにログインしたり、Webサイトからログアウトしたりできるようにする方法です。幸いなことに、Djangoはこれを非常に簡単にしてくれるので、その方法の例を見ていきましょう。いう新しいアプリケーションを作成します。ファイルには、さらにいくつかのルートを追加します。name="logout")]まず、ユーザがログインできるフォームを作成します。ファイルを作成します。3つの関数を追加します。pass次に、管理サイトに移動し、ユーザを追加します。POSTリクエストを処理します。ファイルを作成します。})これで設定が完了しましたので、ウェブサイトを見てみましょう。これでこのレッスンは終わりです!次回は、このコースの2番目のプログラミング言語であるJavaScriptについて学びます。languages.。