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')

     

  • 相关阅读:
    sql server 纵横表的转换
    url参数的编码解码Demo
    SqlServer 列的增加和删除
    asp.net下ajax.ajaxMethod使用方法(转)
    js中document.all 的用法
    cookie跨域,跨目录访问及单点登录。
    错误记录:html隐藏域的值存字符串时出错
    .NET下用C#实现邮箱激活功能
    js与C#服务端 json数据交互
    sqlserver数据可空插入报错
  • 原文地址:https://www.cnblogs.com/sunny666/p/11626724.html
Copyright © 2011-2022 走看看