ディレクトリ
まず、ソフトウェア開発フレームワーク
C / Sアーキテクチャ:クライアント:クライアント、サーバー:サーバー
B / Sのアーキテクチャ:ブラウザ:ブラウザ、サーバー:サーバー
PS:B / Sは、C / Sの性質であります
二、HTTPプロトコル
HTTPプロトコル:ハイパーテキスト転送プロトコル
4つの特性
- TCP / IPベースのアプリケーション層の演技オーバー
- 要求応答に基づいて、
- ステートレスクッキーセッショントークン...
- 接続なし長い接続用WebSocket(大型パッチHTTPプロトコル)
データフォーマット
1.リクエストのフォーマット
- 要求(リクエストメソッド、プロトコルバージョン)の最初の行
- リクエストヘッダ(ロットK:Vキーと値のペア)
- / R / N
- リクエストボディ(リアルタイムデータ要求は何を取得することではない場合にのみ、POSTリクエストを送信)
2.応答形式
- 応答の最初の行
- レスポンスヘッダ
- / R / N
- レスポンスボディ
応答ステータスコード
数字でいくつかの特定の意味を表します。
- 1XX:サーバーは、データが処理されている、あなたは追加のデータを提出し続けることができます正常に受信しました
- 2XX:サーバーの成功応答(200のリクエスト成功)
- 3XX:リダイレクション(301、302)
- 4XX:リクエスト・エラー(404要求されたリソースが存在しない場合、403回のアクセス拒否)
- 5XX:内部サーバーエラー(500)
第三に、リクエストメソッド
リクエストを取得する:サーバーへのデータへ
ポストの要求:サーバーにデータを送信する(例:ユーザログイン)
(URL:ユニフォームリソースロケータ)
第四に、純粋な手のラインとWebフレームワーク
1.手のラインとWebフレームワークピュア:
- 手動でソケットを書きます
- マニュアルデータ処理形式のhttp
wsgirefモジュールに基づいて、2:
- 上記処理モジュールは、二つのマニュアルを実装します
- 異なるPYファイルの異なる機能を分割するためによると
- urls.pyは、ルーティングおよび表示機能の対応関係を置きます
- view.pyプットビュー機能(関数クラス)
- あなたが機能を追加したい場合は、分割が完了した後、あなたはそれに手と足以上のちょうど2つの場所を必要とします
3.静的および動的なページ:
- 静的ページ:フロントエンドのデータが死んで書かれています。
- 動的ページ:リアルタイムデータ取得(例:フロントエンドデータベースバックエンドのデータ収集表示)。
4.jinja2モジュールは、テンプレートをレンダリング実装しています。
五、Pythonの三の大のWebフレームワーク
1、ジャンゴ:
- 長所:大、特に特別な機能が付属して、空母に似て
- 短所:時々あまりにも重いです
2、フラスコ:
- 利点:小さいと細かい、特に小さな自身の特定の機能、レンジャーに類似するが、特に第3のモジュールと
- 短所:サードパーティのモジュールに依存しすぎて
3、トルネード:
- 非同期ノンブロッキング
- ゲームサーバを開発するために回帰し
A:socket部分
B:路由与视图函数对应关系
C:模板语法
Django:
A用的别人的(wsgiref),B和C都是自己写的
Flask:
A用的别人的 werkzeug(基于wsgiref), C用的别人的(jinja2), B自己写的
Tornado:
三个都是自己写的
六、Djangoの内容紹介
项目名
跟项目名同名的文件夹
settings.py 暴露给用户的配置文件
urls.py 路由与视图函数对应关系
应用名(app)
migrations文件夹 存放数据库迁移记录的
admin.py Django后台管理
apps.py 注册相关
models.py 模型类
tests.py 测试文件
views.py 存放视图函数
templates文件夹 存放html文件
manage.py Django入口文件