首页 > 其他 > 详细

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

时间:2018-05-21 15:45:08      阅读:219      评论:0      收藏:0      [点我收藏+]

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的用户验证装饰器

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!