Django 登录/登出 模块

利用 Django 自身模块 编写:

from django.shortcuts import render, redirect
from django.core.urlresolvers import reverse
from django.views.decorators.http import require_http_methods
from django.http import HttpResponse
from django.contrib.auth import authenticate, login as d_login, logout as d_logout

# 登录模块
@require_http_methods(["GET", "POST"])
def login(request):
    if request.method == 'GET':
        user = request.user
        if user.is_authenticated:   #如果已登录
            return redirect(reverse('slg:index'))

        else:
            return render(request, 'slg/login.html')

    if request.method == 'POST':
        userName = request.POST['userName']
        userPassword = request.POST['userPassword']

        user = authenticate(username=userName, password=userPassword) #django认证
        if user is not None:
            if user.is_active:  # 用户 在 Admin后台,被设置为 “激活状态”
                d_login(request, user)   #将 登录信息 存储到 django自身的 login模块 中
                return HttpResponse(1)

            else:
                return HttpResponse(2)

        else:
            return HttpResponse(0)

# 登出模块      
def logout(request):
    d_logout(request)
    return redirect(reverse('slg:index'))

之后,在各个views视图中,引用@login_required(login_url='slg:login') 装饰器即可。

(从 from django.contrib.auth.decorators import login_required中导入)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值