views: 1.0 login and logout



1. login功能

前端页面内容

<form  action="/login/" method="POST">
 \{\% csrf_token \%\}
  <input name="username" id="UserName" type="text" class="form-control" placeholder="UserName">
  <input name="password" id="PassWord" type="password" class="form-control" placeholder="PassWord">
  <button type="submit" class="btn btn-primary" >Login In</button>
</form>

views功能编写

from django.contrib.auth import authenticate, login, logout

@csrf_protect
def login_user(request):
    logout(request)
    username = password = ''
    if request.POST:
        username = request.POST['username']
        password = request.POST['password']

        user = authenticate(username=username, password=password)
        if user is not None:
            if user.is_active:
                login(request, user)
                return HttpResponseRedirect('/home/')
    return render_to_response('devops/login.html', context_instance=RequestContext(request))

logout功能

前端页面内容

<form class="navbar-form navbar-right inline" method='POST' action="/logout/">
  \{\% csrf_token \%\}
  <button type="submit" class="btn btn-danger">Logout</button>
</form>

views内容

@login_required
def logout_user(request):
    logout(request)
    return redirect('login_user')

PS:
若想获取登录用户名称,可直接使用request.user.username