WebフレームワークDjangoのレッスンをまとめます

## OSI 7層モデル 
- アプリケーション層
 - その層、アプリケーション層
 - セッション層
 - トランスポート層                
 - ネットワーク層
 - データリンク層   
 - 物理層

 - 仮想ソケットは、アプリケーション層とトランスポート層との間に配置されたソケットレイヤーのグループインタフェースは、

 - C / SB / S

 - Baiduのサーバソケットサーバ
     --1 結合IPアドレスとポート。
     - 2 。待つ接続が
     --5 。データを受け入れる
     - 6 。データを返す
     - 9 。抜い    

 - ブラウザクライアントソケットを
     --- 3 接続サーバ
     --4 送信データ。
     --7 データを受け入れる。
     - 8 。ブラウザのレンダリングデータ
    - 9 。外し     
    

## HTTPを 
。 - 1つの。要求と応答
     - のブラウザにサーバからの要求(リクエスト)メッセージ 
     - 形式:
         - 要求URLのパス・プロトコル・バージョン方法 
        - K1:V1
         - K2:V2
            
         -要求データ'
         - GETは、データを要求していない

     - ブラウザへの応答(レスポンス)サーバーバックメッセージ
     - フォーマット:
         - ' HTTP / 1.1のステータスコードステータスの説明 
        - K1:V1
         - K2:V2
        
         -応答データ(HTMLテキスト)"
 
- 2 要求8の合計
     - ページをゲット
     - POSTデータを提出します
    
--- 3 。ステータスコード
     - の1xx 
     -の2xx 200は201である
    - の3xxリダイレクト
     -エラー4xxのリクエスト403 404 
    - エラー5xxのサーバー
        

## Web機能フレーム 
- 。1 .socketメッセージング
 - 2 。異なる結果を返す別のパスに基づいて
 --- 3 。動的ページ(置換文字列)テンプレートのレンダリングに戻る
    
 - ジャンゴフラスコトルネード

## 1.ダウンロードしてインストールします 
--1 コマンドラインを:.
     - PIPがインストールジャンゴ== 1.11.22 -i HTTPS://pypi.tuna .tsinghua.edu.cn /シンプル/ 
    - PIPは、Djangoはバージョン番号を指定しない場合、デフォルトは最新バージョンをインストールします

 - 2 .pycharmの          
    
        
## 2.プロジェクトを作成 
--1 コマンドラインを。
     - ストアディレクトリのプロジェクトを切り替えます
    - django- ADMIN startprojectのプロジェクト名
    
 - 2 .pycharm
     -ファイル_>新しい新しいプロジェクト_> 左のジャンゴを選択してください- 「プロジェクトのパスを入力- 」選択インタプリタ- 「の作成
    
        
#を。## 3スタート 
--1 コマンドOK
     - プロジェクトのmanage.pyのルートディレクトリに切り替え
     - Pythonはそのrunserver manage.pyの   #の127.0.0.1:8000デフォルト 
    のPythonが80のrunserver manage.pyの- ポート番号127.0.0.1:80を指定する 
    - Pythonはのrunserverをmanage.pyの0.0.0.0 :80 ポート番号0.0.0.0:80共有と指定する
     
- 2 PyCharm。 
        
    
## 4の構成。 
    - BASE_DIRプロジェクトのルート
     - DIRS TEMPALTESテンプレート=設定[]
     - データベースデータベース
    = STATIC_URL - /静的/   エイリアス静的ファイル
    
     - STATICFILES_DIRS = [     静的構成ファイルの後には、最初にすべての見つからないこれを見て 
        os.path.join(BASE_DIR、静的
    ] 

    
## 5.APP 
    - 作成
         - コマンドライン:のpython manage.py startappのアプリ名
        
     - 登録:
        INSTALLED_APPS = [
                 ' django.contrib.admin ' 
                ... 
                ' app01 ' ' app01.apps.App01Config '   #は、方法をお勧めします


    
## 6 POST要求を提出した。
    この場合注意ミドルウェア 
      ' django.middleware.csrf.CsrfViewMiddleware ' 
     
    
## 7.urls.py 
     - パスと機能URLの対応関係
         urlpatterns = [ 
                URL(R&LT ' ^ ADMIN / ' 、 admin.site.urls)、
                URL(R&LT ' ^ログイン/ ' 、views.login)
            ] 


## 8書き込み機能。   
    - アプリの下views.py
    
     - DEF XXX(リクエスト):
         - 要求-関連要求コンテンツ
         -request.method - GETリクエストメソッドPOST 
         - 送信されたデータシートフォームPOSTリクエスト} { - request.POSTの   
        
         - リターン応答
        
     - 応答:
         - から django.shortcuts インポートレンダリング、のHttpResponse、リダイレクト
         - のHttpResponseは- 「の文字列を返します  
         -レンダリング(要求、テンプレートファイル名、{}) - 「リターンページである
         - (リダイレクトリダイレクトアドレス) - 」リダイレクト
     
     - テンプレートテンプレート      

     
## 9.ormオブジェクトリレーショナルマッピング(リレーショナルマッピングオブジェクト) 
- Djangoは、構成MySQLデータベースを使用して:
     --1 MySQLデータベースを作成します。
    - 2 コンフィギュレーションデータベースの設定で:
     --- 3 pymysqlのMySQLデータベースモジュールを使用して接続されている。
        同じディレクトリに__init__.pyの設定で:
        インポートpymysql 
        pymysql.install_as_MySQLdb()    
    - 4 テーブルを作成し、アプリでモデル。 .py書き込みカテゴリ:``
    `パイソン
    から django.db インポートモデル


    ここにあなたのモデルを作成します壁紙。
    クラスのUserInfo(models.Model):
        ユーザ名 = models.CharField(MAX_LENGTH = 32)  VARCHAR(32) 
        パスワード= models.CharField (MAX_LENGTH = 32 

     ``
    
     - 。5 。データベース移行コマンド
         - Pythonのmanage.py makemigrations   移行ファイルを作成することはmodels.pyに記録された変更を記録 
        -移行Pythonのmanage.py           #は、データベースの移行を実行   
        
    
## 10 ORM特定の操作:. 
`` `Pythonの
    RET = models.Publisher.objects.all()  すべてのデータを照会するためにオブジェクトリスト
    のための I :RET
         印刷(I、タイプ(I))     オブジェクトデータベースにデータを対応する
        印刷(i.name、i.id) フィールドの属性値

    models.Publisher.objects.filter(名 = PUBLISHER_NAME)検索空のリストではありません

    models.Publisher.objects.createは(名前 = PUBLISHER_NAME)新しい

    models.Publisher.objects.filter(上記IDを述べた = 上記のIDを述べた).Delete()削除


    変更
    PUBLISHER_NAME = request.POST.get(' PUBLISHER_NAME ' #の編集 
    pub_obj.name = PUBLISHER_NAME   メモリの変化だけ 
    pub_obj.save()  は、データベースへの変更保存
`` ` 
    
    
## 11.テンプレート
` `` HTMLを
{ためのパブのRET%}
       <TR> 
        <TD> pub.id {{}} </ TD> 
        <TD> pub.name {{}} </ TD> 
      </ TR> 
{%ENDFOR%} 
`` `



     
    

 

おすすめ

転載: www.cnblogs.com/lilyxiaoyy/p/11258412.html