Djangoのサプリメント

まず、デザインモード

1.1 MVC

  • モデル(M)は声明ではなく、真のデータが、データ・インタフェースです。

  • 表示(V)、あなたが見るインターフェイスであるユーザー入力を収集するためのインタフェースを提供することに加えて、プレゼンテーションモデルです。

  • モデルとビュー間の情報の流れを制御するコントローラ(C)。プログラムロジックを表示するための情報を送信することにより、データベースからの情報、。また、モデルデータを修正することによって、ユーザから視点情報、ビューの変更によって収集。

MTV 1.2(ジャンゴ)

  • Mが「モデル」を表し、データアクセス層は、すべてのデータ関連機能が含まれています行為によるデータアクセスとの間の関係、検証データ、データ、データ。

  • Tは「テンプレート」、を表すプレゼンテーション層をページまたは他の文書タイプに何かを表示する方法:これは、パフォーマンスに関連する決定を含んでいます。

  • Vは、「ビュー」、を表すビジネスロジック層をLogicはアクセスモデルが含まれており、適切なテンプレートを選択:モデルとテンプレートの間のブリッジを。

     

第二に、 PythonスクリプトでDjangoの環境を呼び出します

輸入OS
 の場合 __name__ == ' __main__ ' 
    os.environ.setdefault(" DJANGO_SETTINGS_MODULE "" untitled15.settings " 輸入ジャンゴ
    django.setup() 

测试代码

三、Djangoのターミナル印刷SQL文

#の設定中配置 
LOGGING = {
     ' バージョン':1 ' disable_existing_loggers ' :Falseを、
     ' ハンドラ' {
         ' コンソール' {
             ' レベル'' DEBUG ' ' クラス'' logging.StreamHandler ' 
        }、
    } 、
    ' ロガー' {
         ' django.db。バックエンド":{
             ' ハンドラ':[ ' コンソールは' ]、
             ' 伝播' :真、
             ' レベル'' DEBUG ' 
        } 
    } 
}

四、Djangoのリクエストのライフサイクル

第五に、違いDjango2.xバージョン1.xバージョン

  同じURLのre_pathと1.1のdjango2.x

パスの基本的なルール

  • 山カッコ(<>)URLから値をキャプチャします。
  • キャプチャ値は、使用したようなタイプのコンバータ(変換タイプ)を含むことができる  <int:name> 整数変数を取り込みます。Ruoguo無改質器は、もちろんを含む任意の文字列、一致する  / 文字を。
  • 先頭のスラッシュを追加する必要はありません。

パスコンバータ

Djangoのデフォルトのコンバータは、次の5つをサポートしています。

  • STR、マッチングパスセパレータ(に加えて、/デフォルトで非空の文字列)外、。
  • INTは、0を含む正の整数と一致します。
  • スラッグ、文字、数字、バー、アンダースコアの文字列にマッチします。
  • UUID、075194d3-6885-417e-a8a8-6c931e272f00としてフォーマットUUIDを、一致します。
  • パスは、パスの区切り文字(/)を含む、任意の非空の文字列に一致する(しませんか?)

カスタムコンバータを登録します

  いくつかの複雑なまたは多重化を必要とするために、独自のコンバータを定義することができます。Converterは、クラスまたはインタフェースである、それは三点が必要です。

  • regex クラス属性、文字列型
  • to_python(self, value) この方法は、値はクラス属性は  regex 、文字列と一致している対応するDjangoのビュー関数への送達のために、可変のPythonの特定の値を返します。
  • to_url(self, value) 方法、そして  to_python 逆に、値はストリング、一般的に使用される逆URL参照を返す特定の変数のPythonの値です。

栗:

クラスFourDigitYearConverter:   
    正規表現 = ' [0-9] {4} '   
    DEF to_python(自己、値):  
         戻りINT(値)  
     DEF to_url(自己、値):  
         リターン ' %04D '%値  

  使用するregister_converter URLの設定に登録するには:

django.urls インポートregister_converter、パスを  
 からインポートコンバータ、ビュー   
register_converter(converters.FourDigitYearConverter、' YYYY ' 
urlpatterns = [   
    パス(' 記事/ 2003 / ' 、views.special_case_2003)、   
    パス(' 記事/ <YYYY:年> / ' 、views.year_archive)、  ..   
]

六の単純なファイルのアップロード

注目のビットのフロントエンド

1.methodがPOST指定する必要が
2.enctype形式をFORMDATAを変更する必要があります

その一時的にバックエンドに注意してください。

1.コメントアウトcsrfmiddleware中間プロファイル
2. request.FILESにより、ユーザーのポストによってアップロードされたファイルのデータを取得します

プリント(request.FILES)
 プリント(型(request.FILES.get(' FILE_NAME ' )))

FILE_NAME = request.FILES.get(' FILE_NAME ' ).nameの
 から django.core.files.uploadedfile インポートInMemoryUploadedFile 
オープン(FILE_NAMEと、' WB ' Fなど)
     のための I における request.FILES.get(' FILE_NAME ' ).chunks():
        f.write(I)    

七、選択肢

  モデルテーブルで定義:選択=((0、 'M')、(1、 'M')、(2) '不明')

  フィールドで使用しています:性別= models.IntegerField(選択肢=選択)

  テキストから見た図に相当する層:性別= author.get_gender_display()

おすすめ

転載: www.cnblogs.com/moonzier/p/11221572.html