Django 自定义装饰器 登录验证

django自定义装饰器:

views.py

def auth(func):

  def inner(request,*args,**kwargs):

    v = request.COOKIES.get('user')  #拿到设置得cookie

    if not  v:

      r = request.path

      url = '/login/?next='+r

      return redirect(url)

    return func(request,*args,**kwargs)

  return  inner

 

def log_in(request):

  ...

  r = request.POST.get('next')

  if u ==user and p == pwd:

    res = HttpResponseRedirect(r)

    res.set_cookie('user':u,max_age=100)

    return res

@auth

def index(request):

  pass

 

前端templates:

login.html

<form method="post" action="{% url 'login' %}">
{% csrf_token %}
<input type="text" name="user" >
<input type="text" name="password"><br>

<input type="text" name="next" value="{{ request.GET.next }}">
<input type="submit" value="提交">
</form>

 

 

 

    

转载于:https://www.cnblogs.com/helloxiaoyu/p/8405984.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值