HTTPプロトコル
4つの特性
1.上に作用するプロトコルのTCP / IPアプリケーション層に基づいて、
要求応答に基づい2.
3.ステートレス
4.なし接続
データフォーマット
要求フォーマット
最初の行の要求
リクエストヘッダ
/ R / N
リクエストボディ
応答ステータスコード
数値言語インタプリタの文字列
ジャンゴ
純粋な手のラインとシンプルなWebフレームワーク
あなたは、サードパーティのモジュールにロールアップwsgirefヘルプ
views.pyは、内部ビュー機能は、ビュー層と呼ばれる機能である置きます
図ルーティング層との間の対応のルーティング(接尾辞)関数内urls.py PUT
内部のフォルダのテンプレートはHTMLコードテンプレート層を置きます
静的および動的なページ
静的ページ:データは変更が人工直接変更している場合でも、同じ年に死ぬことを書かれています
動的ページ:データがリアルタイムで取得され
例えば:. 1バックエンドのコードが動的に現在の時刻を取得
2.データデータベースクエリのうちから、
トピック1:アクセスページ、ページショー現在のアクセス時間
の辞書の値を促進するためにいくつかの簡単な方法を通してフロントページ、ページ上のバックエンドユーザー辞書を示すアクセスページ、:トピック2
Jinja2のテンプレート構文
バックエンドのデータ処理やHTMLページと相互作用するように設計
テンプレート構文(文法極めて近いPythonのバックエンドへ)
HTMLページ上であなたをすることができます、バックエンドのデータを渡すために、バックエンドの操作Pythonの構文を使用することが可能です
<p>{{ userDic }}</p>
<p>{{ userDic.username }}</p>
<p>{{ userDic['age'] }}</p>
<p>{{ userDic.get('hobby') }}</p>
<p>{{ userDic.get('hobby').0 }}</p>
<p>{{ userDic.get('hobby').1 }}</p>
<p>{{ userDic.get('hobby').2 }}</p>
{% for user_dic in user_list %}
<tr>
<td>{{ user_dic.id }}</td>
<td>{{ user_dic.username }}</td>
<td>{{ user_dic.password }}</td>
</tr>
{% endfor %}
テンプレートをレンダリングすることは、完全なプロセスのHTMLファイルを生成するバックエンドの契約で、バックエンドのデータHTMLファイルに渡され(バックエンドとフロントエンドで終了するが問題ではありません)
三の大PythonのWebフレームワーク
ジャンゴ:大と組み込みのコンポーネントと機能の非常に多くの空母のように。弱点:それはもっと面倒(行き過ぎ)とすることができる、小さなプロジェクトを書きます
フラスコ:小さいがDapperの独自のコンポーネントとサードパーティコンポーネントに依存して、実質的に全ての、特に低いです。レンジャーズに似ています。欠点:衝撃が比較的大きいサードパーティモジュールによって制限されます。一緒にフラスコのすべてのサードパーティのモジュール場合は、直接Djangoに影
竜巻:非同期非ブロックであってもゲームサーバを開発するために使用すること。
カスタムフレーム:
A:ソケット部分
B:マッチルート
C:テンプレート文法
ジャンゴ:自分の他の誰かのwsgiref(ジャンゴデフォルト)、B書き込みの使用は、自分の書き込みcは
フラスコ:使用誰か他の人のWERKZEUGを、bが、それを他の誰かのJinja2ののc使用自分で書いた
A、B、Cです:トルネードをあなた自身を書きます
Djangoフレームワークを導入します
注:
1.コンピュータ名が中国のことはできません
2.pythonインタプリタのバージョン3.7が3.6に3.4を使用しないことをお勧めします
だけのpythonプロジェクトを実行することができます。3. Aウインドウ
問題のDjangoのバージョン:
Djangoのベースのバージョン1.11.11(1.11.9 - 1.11.13)
インストールが成功したことを確認するために、どのようにジャンゴ:
コマンドラインは、ジャンゴ・管理をノック
プロジェクトを作成するためのコマンドライン:
ジャンゴプロジェクトを作成します。1.
ジャンゴ管理者startprojectのプロジェクト名を(たとえば、個人用サイトなど)
2. [スタート] Djangoプロジェクト:
プロジェクトフォルダに切り替え:
のpython3のmanage.pyのrunserver(私のコンピュータmanage.pyのrunserverパイソン)
のpython3 manage.pyのrunserver 127.0.0.1.8080(指定ポート)
3.(ジャンゴサポートマルチアプリの開発を)アプリケーションを作成する
のpython3 manage.py startappのアプリ名
注:
1.自動的にフォルダテンプレートの作成を支援しません
2.設定ファイルが自動的にテンプレートファイルのパスを記述する助けにはなりません
アプリのコンセプト:
Djangoは、メインフレームワークとして機能Webアプリケーションを開発することである
アプリはアプリケーションのアプリケーションを意味しています。
Djangoプロジェクトは、大学(空の棚、任意の機能を持っていません)である
アプリは、各大学の内部に似ていながら、
空Djangoは、任意の効果を持っていないだけでアプリを事前に構成された環境を作るために
移動できない機能、現像アプリの複数の
特定の機能モジュールに対応するアプリ:
に関連するユーザのアプリユーザ関連の機能
オーダー関連機能の順序関連アプリ
商品アプリ関連商品に関連する機能を
各アプリは、独自の独立した機能を持っています
良いアプリを作成すると、Djangoのプロファイルで有効にするには登録が必要です
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
# 'app01' # 简便写法
'app01.apps.App01Config' # 最完整的写法
]
pycharmプロジェクトを作成します
アプリケーションを作成し、あなたは簡単な方法1を使用することができる
ツールがmanage.pyタスクを実行します>>>
startappのアプリケーション名
2.必ず同時に同じポートだけでプロジェクトを開始することができますすることジャンゴ
それが空の場合3.設定ファイルのテンプレートフォルダのパス、手動で構成する必要が
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')]
,
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
ジャンゴファイル機能
ジャンゴプロジェクト名の
その名前を持つプロジェクトフォルダ内のファイル
のユーザプロファイルにさらさsetting.pyを構成することができ
、ルーティングとビュー機能対応関係urls.py
ファイルのエントリDjangoのmanage.py
アプリケーション名のフォルダ
の移行すべてのフォルダ記録されたデータベース関連業務
の管理背景管理ジャンゴadmin.pyを
使用してapps.py登録アプリ
models.pyは、すべてのデータベース関連モデルクラス入れ
tests.pyテストファイル
機能のビューを処理views.pyビジネスロジックを
基本的な構成とノートジャンゴ
ジャンゴ白は3つのトリックとなります
文字列のHttpResponseを返します。
リターンのhtmlファイルをレンダリングし、HTMLページに値を渡すことができます
def login(request):
user_dic = {'username':'jason','password':'123'}
return render(request,'login.html',{'xxx':user_dic})
リダイレクトリダイレクト
1.あなたは、パスサフィックスサイトに直接書き込むことができます
また、完全なパスになります2
def home(request):
# return redirect('/login') # 重定向
return redirect('https://www.baidu.com') # 重定向
注意:
デフォルトでは、自動再起動であるジャンゴ
再起動のメカニズム
検出メカニズム、インデックスファイルの変更のリアルタイム検出があります。時には、あなたはそれを終えていないだろう状況は、それらが自動的に与えられて、コントロールしていません
手動で再起動するには、各完成したコードの後