セッションCBVの装飾をチェックするには、3つの方法

コードは以下の通りであります:

django.shortcuts インポート、レンダリングのHttpResponse、リダイレクト
 から django.views インポートビュー
 #がここにあなたの意見を作成します。


デフログイン(リクエスト):
     もし request.method == ' POST ' 
        ユーザ名 = request.POST.get(' 名前' 
        パスワード = request.POST.get(' パスワード' であれば、ユーザー名== ' ジェイソン'  パスワード= = ' 123 ' 
            ますrequest.session [ ' 名前' ] = ' ジェイソン' 
            リターンリダイレクト(' / homeは' を返す(リクエスト、レンダリング' login.htmlとを' 


要用装饰器需要导的模块
から functoolsはインポートラップ
 から django.utils.decoratorsを輸入method_decoratorの
 デフlogin_auth(FUNC):
    @wraps(FUNC)
    デフインナー(要求、* argsを、** kwargsから):
         もし request.session.get(' 名前'):
             リターン FUNC(* argsを、** kwargsから)
         戻るリダイレクト(' /ログイン' を返すインナー

二番目のパラメータ名を指定する必要があります 
@method_decorator(login_auth、名前= ' GET ' クラス:MyHomeを(ビュー)
     #の三分の一を種として長いクラスで定義されたメソッドが指定されるように
    @method_decorator(login_auth)
     DEFの派遣(セルフ、要求、* argsを、** kwargsから):
        スーパー()派遣(要求、 * argsを、** kwargsから)
     のを一種の
    @method_decorator(login_auth)
     DEF(自己、リクエスト)を取得:
         返すのHttpResponseを(' 取得' 

    デフ(自己、リクエスト)投稿:
         返すのHttpResponseを(' ホーム'

 

おすすめ

転載: www.cnblogs.com/HUIWANG/p/11047221.html