码迷,mamicode.com
首页 > 其他好文 > 详细

基于Django-Cookie的CBV和FBV的用户验证装饰器

时间:2018-05-21 16:25:22      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:end   class   efault   eth   return   self   util   war   UNC   

FBV模式


def cookie(func):  
    def deco(request,*args,**kwargs):    
        u = request.get_signed_cookie(username, salt=user, default=None)  
        if not u:  
            return render(request,login.html)  
        return func(request,*args,**kwargs)  
    return deco  
  
@cookie  
def houtai(request):  
    u = request.get_signed_cookie(username,salt=user,default=None)  
    return render(request,houtai.html,{user:u})

CBV模式


 

from django.utils.decorators import method_decorator  
from django import views  
  
# @method_decorator(cookie,name=‘dispatch‘)    # dispatch的便捷写法  
class CBVtest(views.View):  
  
    @method_decorator(cookie)   # 给dispatch方法添加装饰器,那么下面所有的get,post都会添加  
    def dispatch(self, request, *args, **kwargs):  
        return super(CBVtest,self).dispatch(request,*args,**kwargs)  
  
    # @method_decorator(cookie)  
    def get(self,request):  
        u = request.get_signed_cookie(username,salt=user,default=None)  
        return render(request,houtai.html,{user:u})  
  
    def post(self,request):  
        return HttpResponse(post ok)

 

基于Django-Cookie的CBV和FBV的用户验证装饰器

标签:end   class   efault   eth   return   self   util   war   UNC   

原文地址:https://www.cnblogs.com/zhuifeng-mayi/p/9067121.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!