django中级 --- 用户认证

2017-01-04  本文已影响0人  梦想做小猿

说明

django通过提供User、auth方法实现用户登录认证,权限管理等功能

一:用户认证

用户登录,判断用户名和密码是否正确,判断该账户是否锁定等。

#coding=utf8
from django.shortcuts import render_to_response,redirect
from django.template import RequestContext
from django.contrib import auth
from django.contrib.auth.decorators import login_required

def Login(request):
    if request.method == "GET":
        return render_to_response("login.html",context_instance=RequestContext(request))
    else:
        username = request.POST.get('username',None)
        password = request.POST.get('password',None)
        userinfo = auth.authenticate(username=username,password=password)
        if userinfo:
            if userinfo.is_active:
                auth.login(request,userinfo)
                return redirect('/')
        return render_to_response("login.html",{"errmsg":"用户名或密码错误"},context_instance=RequestContext(request))

@login_required
def Index(request):
    return render_to_response("test.html")

@login_required
def Logout(request):
    auth.logout(request)
    return redirect("/login")

代码解释:

  1. 在前端form表单中添加
<form method="post" action="/login">{% csrf_token %}
  1. 在视图函数中使用RequestContext
 return render_to_response("login.html",context_instance=RequestContext(request))
#在setting.py中添加
LOGIN_URL = "/login"
上一篇 下一篇

猜你喜欢

热点阅读