zoukankan      html  css  js  c++  java
  • Django-10 用户认证

    auth模块

      from django.contrib import auth

    auth一些方法 

    创建用户 

              #引入auth模块的数据库

      from django.contrib.auth.models import User

      

          #创建一个对象

      User.objects.create_user(username = username, password = password)

     

      django 创建项目就会产生的auth_user表,

        

         我们只是添加了两个字段,这里会有很多默认字段,并且是加密保存的密码

    用户认证

          #引入模块

      from django.contrib.auth import authenticate

     

       

        #一般需要username  password两个关键字参数

       authenticate(username=username, password=password)

       

    登录

     

      from django.contrib.auth import login

         

        #该函数接受一个HttpRequest对象,以及一个认证了的User对象

      login(request,user)

     

    注销登录

     

      from django.contrib.auth import logout

     

        #当调用该函数时,当前请求的session信息会全部清除

      logout(request)

     

     

    其他一些方法

     

      是否登录        is_authenticated         

                         ob = request.user.is_authenticated

                         print(ob)

                         返回的时bool值,

                           (作用)根据用户登录与否做相应操作

     

          装饰器           @login_requierd

                    @login_required

                    def order(request)

                    用户登录才能访问order页面

     

          修改密码         set_password()

                        user = User.objects.get(username='')
                        user.set_password(password='')
                        user.save

     

     

     

    小例子:

      views.py

     

    def log(request):
        if request.method == 'POST':
            username = request.POST['name']
            password = request.POST['pwd']
            user = authenticate(username=username, password=password)   #验证登录用户是否存在
            if user:
                login(request,user)                          #登录
                print(request.user)
                print(request.user.is_authenticated)
                return HttpResponse('登录成功')
            else:
                return HttpResponse('用户名或者密码不正确')
    
        return render(request,'login.html')



    def regist(request):
    if request.method == 'POST':
    username = request.POST['name']
    password = request.POST['pwd']
    user = User.objects.create_user(username = username, password = password) #创建用户
    return HttpResponse('注册成功')
    return render(request,'regist.html')

     

  • 相关阅读:
    一个Java对象到底占用多大内存
    Java 动态代理机制分析及扩展
    JVM内幕:Java虚拟机详解
    深度分析 Java 的 ClassLoader 机制(源码级别)
    Java异常的深入研究与分析
    HashMap的工作原理
    Java枚举常见7种用法
    left join 过滤条件写在on后面和写在where 后面的区别
    mysql left( right ) join使用on 与where 筛选的差异
    SQL索引优化
  • 原文地址:https://www.cnblogs.com/sunny666/p/11626724.html
Copyright © 2011-2022 走看看