美文网首页Python
实现django的用户认证登陆

实现django的用户认证登陆

作者: 摘花是个好习惯 | 来源:发表于2019-01-05 12:00 被阅读0次

在没有登陆的情况下,我们访问管理系统的某个页面时,应该跳转到 login 页面,这个时候需要用到 from django.contrib.auth.decorators import login_required这个模块,里面有一个 login_required 装饰器,只要哪个视图函数使用了这个装饰器,就是告诉django,调用这个方法是需要登陆的。


如果没有登陆,会默认跳转到 '/accounts/login/' 这个值是可以在 settings 里设置的,如 LOGIN_URL = '/accounts/login/' , 如果访问king_admin,则跳转后的url是 '/accounts/login/?next=king_admin/' 我们可以通过request.GET.get 得到 next 用来登陆成功后redirect到这个页面

from django.shortcuts import render,redirect
from django.contrib.auth import login, logout, authenticate
# Create your views here.
def acc_login(request):
    error = ''
    if request.method == 'POST':
        _email = request.POST.get('email')
        _password = request.POST.get('password')

        user = authenticate(username=_email, password=_password)
        # 如果有返回值,返回的是用户对象,没有就是 None,认证不通过
        # 这一步只是验证
        if user:
            login(request, user)
            # 这一步就是登陆,login会与数据库交互,会创建sesson使下次登陆不需验证

            next = request.GET.get('next')
            if next:
                return redirect(next)

            return redirect('/')
        else:
            error = 'Wrong username or password!'
    return render(request, 'login.html', {'error':error})

注销只需要这样

def acc_logout(request):
    logout(request)
    return redirect('/account/login/')

相关文章

  • 电影购票网站实现

    1. 用户功能 同前面所有项目的用户功能,利用Ajax+Django系统认证+QQ邮箱实现登陆注册 2. 用户未登...

  • 实现django的用户认证登陆

    在没有登陆的情况下,我们访问管理系统的某个页面时,应该跳转到 login 页面,这个时候需要用到 from dja...

  • Django 认证系统

    欢迎访问个人博客 Abstract 基础Django我们可以快速的实现用户认证系统 前提 要使用Django的认证...

  • django中级 --- 用户认证

    说明 django通过提供User、auth方法实现用户登录认证,权限管理等功能 一:用户认证 用户登录,判断用户...

  • Django-便捷的用户认证系统

    Django默认用户认证系统 Django自带用户认证系统 它处理用户账号、组、权限以及基于cookie的用户会话...

  • Django 用户认证(Auth)组件

    Django用户认证(Auth)组件一般用在用户的登录注册上,用于判断当前的用户是否合法,并跳转到登陆成功或失败页...

  • djano笔记(八)认证

    1.用户认证 认证需要用到auth模块 使用django自带的User模型 在django shell里先创建用户...

  • Django的认证系统:auth

    Django自带的用户认证 我们在开发一个网站的时候,我可避免的需要设计实现网站的用户系统。此时我们需要实现包括用...

  • Django的认证系统

    Django自带的用户认证 我们在开发一个网站的时候,无可避免的需要设计实现网站的用户系统。此时我们需要实现包括用...

  • 重定义django的认证登录

    重定义django的认证登录 django提供了用户认证功能,即验证用户名以及密码是否正确,一般需要usernam...

网友评论

    本文标题:实现django的用户认证登陆

    本文链接:https://www.haomeiwen.com/subject/xzrslqtx.html