Django.4

カスタムミドルウェア

カスタムミドルウェア・プロセス:

  • プロジェクトディレクトリミドルウェアの下にディレクトリを作成します。

  • ディレクトリ、Pythonのファイルを作成します

  • 中間ベースクラスファイルのpythonの紹介

    • django.utils.deprecationインポートMiddlewareMixinから
  • 機能要件に基づいて、クラスに、要求カットクラスを作成し、エントリポイントメソッドをオーバーライド
django.shortcuts インポートリダイレクト
 から django.urls インポートリバース
 から django.utils.deprecation インポートMiddlewareMixin 


クラス:LearnMiddleware(MiddlewareMixin)

    DEF process一(セルフ、要求):

        印刷(request.path)
        機能を実現する
        "「」
        
            ログインし、レコードを
            ユーザに認定
            ブラックリスト、ホワイトリスト
            の優先
            ブロッカー、抗爬虫類
                - 30秒の時間
                -分未満10倍まで
                -あなたは正しいデータエラーステータスコードを与えるために
                -暗号化
                -動的な暗号化
        
        ""」

    デフにprocess_exception(自己、要求、例外):
         プリント(要求、例外)

        リターンリダイレクト(逆(" アプリ:インデックス"))
  • 設定で構成されたミドルウェアを有効にし、ミドルウェアがミドルウェアを追加します。ファイル名。クラス名

ミドルウェア= [
     ' middleware.TeachMiddle.LearnMiddleware '自定义中间件
    ' django.middleware.security.SecurityMiddleware ' ' django.contrib.sessions.middleware.SessionMiddleware ' ' django.middleware.common.CommonMiddleware ' " ジャンゴ.middleware.csrf.CsrfViewMiddleware ' ' django.contrib.auth.middleware.AuthenticationMiddleware ' ' django.contrib.messages.middleware.MessageMiddleware ' 'django.middleware.clickjacking.XFrameOptionsMiddleware " 
]

写真をアップロード

request.FILESに保存されたファイルの属性データ

フォームフォームはのenctype =「マルチパート/フォームデータ」ファイルアップロードのPOSTリクエストメソッドを使用する必要があります追加するファイルをアップロード

<フォームアクション= " {%のURL '2:アップロード' %} "メソッド= " ポスト"のenctype = " マルチパート/フォームデータ" > 

    {%csrf_token%}

    の<input type = " テキスト"名前= " ユーザ名"プレースホルダ= " 请输入用户名" > 

    の<input type = " ファイル" NAME = " アイコン"プレースホルダ= " 选择请头像" > 

    の<button>提交</ボタン> 

</フォーム>
  • メモリ
    • ファイルのアップロードとuploadefiles作成し、静的なフォルダに保存されている受信

    • 構成設定で、MEDIA_ROOT = os.path.join(BASE_DIR、r'static / uploadefiles')

おすすめ

転載: www.cnblogs.com/zbcdamao/p/10988712.html