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>

 

 

 

    

posted on 2018-02-02 16:58  hello_xiaoyu  阅读(326)  评论(0编辑  收藏  举报