python-ジャンゴ-04
1 1 、テンプレート
2 1 、変数(わずかに)
3 2 、ラベル(わずかに)
4 3 、フィルタ(わずかに)
5 4 (わずかに)、静的ファイル
6 5は、テンプレート継承
7 1 テンプレート継承されたもの、
8 同じ内容のほとんどは複数のテンプレート(Webページ)は、あなたが相続の方法を使用することができたときに、同じコンテンツは、追加/継承するための独自のコンテンツを変更する
9 2 、テンプレートの継承の構文
10 1 、親テンプレート
11の 増加{%ブロック名} ... {%の末端ブロック%% }タグ
12は 2 サブテンプレートにおいて、
13である 1。 、一番上の増加最初の文:
14 {%が延び「親テンプレートの名前」%}
15 2 、ブロックマークを増加し、それら自身で書かれたコンテンツ
16 {%ブロック名%}
17は、 自身のコンテンツサブテンプレートに属する
18は 、{%の末端ブロック%}
19。 2モデル- モデル
20 1 、モデル何で
21 モデル、データベーステーブル内のデータの構造に基づいて、クラスの外に作成されます。プログラミング言語へのデータベースの各テーブルには、クラスです。フィールド(列)データベーステーブルは、メンバ変数(属性)クラスとして構成してもよいです。モデルでは、データは、CRUD操作を完了し
22である C:作成
23である R&LT:取得
24 U-:更新
25 Dは:削除
26は、 図2に示すように、モデルの作成と使用- ORM
27 。1 、ORMは何か
28 ORM:マッピングリレーショナルオブジェクト
29 略称:ORM、O / RM、O / R&LTマッピング
30 中国語など:オブジェクトリレーショナルマッピング
31の 三つの特徴:
32 1、クラスにデータテーブル(クラス)マップ
33は、 自動的にクラス生成するテーブル可能
34は 、クラスを自動的にテーブルを生成することができ
35 2は、データ・タイプ・マッピング
36は、 テーブル内のタイプフィールドが自動的にプログラミング言語に生成されることができ対応するデータ型
37 また、対応する生成するために、データベース内のフィールド型プログラミング言語データ型を可能にする
38である 3。 、マッピング関係
39の データベース内の関連テーブル:
40 1への1つ、(多くの)多くの1つ、多対
41は、
42である テーブル関係はまた、マッピング関係作成されたオブジェクト、プログラミング言語のクラスにマッピングされる
43は 2 、ORMの利点
ている44 。1 、、開発効率が向上し、マッピングデータテーブルをエンティティ・クラスを自動的に行うことができる巨大な省略されてもよいですデータアクセス層
45 2 、ないSQLのコーディング、データは、CRUD操作完了できる
46のである 。3 、および構成データベースの作成
47 。1 、データベースを作成します(中国語をサポート)
48 データベースのWebDBのデフォルトの文字セットUTF8 COLLATEがutf8_general_ci作成
49 2 、Djangoのデータベース内の構成
50 settings.py構成情報データベース
51は、 DATABASES = {
52が ' デフォルト' :{
53れる ' ENGINE ':' ... ' 、
54は、 ' NAME ':'' 、
55 }
56である }
57れます
58 1。 、エンジン:エンジン
59の django.db.backends.mysql
60 2 名のデータベースに接続する:,名前
61である 3。、USER:ユーザーの名前、典型的には、ルート
62は 、123456パスワード:4 PASSWORD
れる63 5、HOST:ホスト接続は、機械は、次にローカルホスト/ 127.0.0.1 / 書き込みではない
64 。6、PORT:ポート3306
65 。4 、データベースの同期動作
66 1、/。。manage.py makemigrationsは
67 アクション:ログ・ファイルへの各アプリケーションのためにデータベース内のmodels.pyマッピングファイル、およびフォルダの移行に格納さは
68 。2、/ 移行manage.pyの
69 アクション:データベースへの各アプリケーションファイルフォルダの同期ログファイルの移行
70 。5は、モデルの準備
71である 。1 、注意
72 1 、各クラスは、クラスのモデル(モデル)、またはエンティティタイプ(エントリ)と呼ばれるモデル
73である 2 、モデルの各エンティティ・クラスは、models.Modelから誘導されなければならない
74 2 、EX
75 models.py
76
77 django.db インポートモデル
78 クラス:出版(models.Model)
79 名= models.CharField(MAX_LENGTH = 30 )
80 アドレス= models.CharField(MAX_LENGTH = 50 )
81 シティmodels.CharFiled =(= 20 MAX_LENGTHある)
82 = models.CharField国(= 20 MAX_LENGTHある)
83 サイト= models.URLField()
84 。6 、データフィールドとDjangoによって提供されるフィールドオプション
85 。1 、データフィールド(フィールド、タイプ)
86 。1 、のBooleanField()
87 2 CharFieldです(AS)
88 。3 、DateFieldの()
89 。4 、DateTimeField型()
90 。5 、FloatField()
91である 。6 、FileFieldに()
92 。7 、EmailField()
93 。8 、IntegerFieldと()
94 。9 、のImageField()
95 10 、URLField()
96 。11 、DecimalFieldは()
97 2 、オプションフィールド(フィールド、オプション)
98 1 、NULL:ブランク許可するかどうかを
99 名= models.CharField(MAX_LENGTHを30 =、ヌル= TRUE)
100 2 、デフォルト:カラムのデフォルト値設定
101 名= models.CharField(MAX_LENGTH = 30、デフォルト= ' 匿名' )
102 :運動
103を 二つの追加models.pyクラスで
104 。 - 1、著者の
105 。1 、名前、
106 2 、年齢、
107 3 、Eメールで、
108 2、予約- 書籍
109 。1 、タイトル
110 2 、PUBLICATION_DATE
111 。7 、データのインポート(データマイグレーション)およびバージョンスイッチ輸出
112 。1 、バージョンスイッチ
113は ./ アプリケーション名のマイグレーションバージョン番号をmanage.pyの
114 EX:
115 マイグレーションインデックス./manage.py 0001
1 16 2 、派生データベース
117 1、mysqldumpをデータベース名-uルート-p> ファイル.SQL
1 18 (すべての導出されたデータ構造とテーブル)
119 2は、ルート-p -uのmysqldumpを-dデータベース名> .sqlファイル
120 (すべての表をエクスポートし、データをエクスポートしていない)
121 。3 、インポート・データベース
122 ルート-p <-u MySQLデータベース名.SQLファイル
123は、 (データベースが存在しなければならない必要)
124 。4 、データベースは自動的によって誘導されますモデル
125 ./manage.py inspectdb> の.pyファイル
126
127 ジョブ:
128 。1 、及びlogin.htmlとのregister.html向上
129 2 、及び情報login.htmlとregister.html分析項目毎にユーザオーチャード表
130 。1 データベースFruitDay作成するために、
131である -エンティティクラスの作成、2 モデル
132 。 .. ...
133は、 フィールドを追加:アクティブなユーザかどうか
134
135
136
137
138
139
140の エンティティ:
141 データテーブルの行は、実体である
142 エンティティ整合性:各表のデータは重複を持つことができないことを保証します。テーブルの主キーは、エンティティの整合性を達成するための一つの方法であります