zoukankan      html  css  js  c++  java
  • Django user使用

    本文转自:http://www.douban.com/note/97939653/  

    多谢给丫睡钱总结

    1:使用User对象

          User 对象属性:username, password(必填项)password用哈希算法保存到数据库
                email,last_login,date_joined(字面意思就知道了)
    is_staff ; 用户是否拥有网站的管理权限.
    is_active : 是否允许用户登录, 设置为``False``,可以不用删除用户来禁止 用户登录


    2 : User 对象方法

    一: is_authenticated(): 如果是真正的 User 对象,返回值恒为 True 。 用于检查用户是否已经通过了认证。通过认证并不意味着 用户拥有任何权限,甚至也不检查该用户是否处于激活状 态,这只是表明用户成功的通过了认证。
          这个方法很重要, 在后台用request.user.is_authenticated()判断用户是否已经登录,如果true则可以向前台展示request.user.name
           在后台用{%if request.user.is_authenticated%}来判断就不灵了,应该用
    {%if user.is_authenticated%}
         注销
             {%endif%}
    二:set_password(passwd)
          这个方法是用来更改密码的,先用user=User.objects.get(username='')
        user.set_password(passeord='')
        user.save

    三:check_password(passwd)
        用户需要修改密码的时候 首先要让他输入原来的密码 ,如果给定的字符串通过了密码检查,返回 True

    四:email_user(subj, msg) (这个需要研究)
       给用户发送电子邮件,用 DEFAULT_FROM_EMAIL 的设 置作为发件人。也可以用第3个参数 from_email 来 覆盖设置。


    2;创建用户 使用 create_user 辅助函数创建用户:
       from django.contrib.auth.models import User
       user = User.objects.create_user(username='',password='',email='')
       user.save 注意这里不是save()!

    3:修改密码 使用 set_password() 来修改密码:
         user = User.objects.get(username='')
         user.set_password(password='')
         user.save

    五:登录和退出

         1: 登录
            Django 在 django.contrib.auth 中提供了两个函数来处理这些事情—— authenticate() 和 login()

       authenticate(): 认证给出的用户名和密码,使用 authenticate() 函数。它接受两个参数,用户名 username 和 密码 password ,并在密码对用给出的用户名是合法的情况下返回一个 User 对象。当给出的密码不合法的时候 authenticate() 函数返回 None
        login() :该函数接受一个 HttpRequest 对象和一个 User 对象作为参数并使用Django的会话( session )框架把用户的ID保存在该会话中
        from django.contrib import auth
       user = auth.authenticate(username=username, password=password)
       if user:
          auth.login(request, user)

       2: 注销 logout()该函数接受一个 HttpRequest 对象作为参数,没有返回值
          auth.logout(request)

  • 相关阅读:
    【Gstreamer开发】TI嵌入式处理器GStreamer pipeline
    【Gstreamer开发】TI嵌入式处理器GStreamer pipeline
    【ARM-LInux开发】利用scp 远程上传下载文件/文件夹
    【ARM-LInux开发】利用scp 远程上传下载文件/文件夹
    【VS开发】ClientToScreen 和ScreenToClient 用法
    【VS开发】ClientToScreen 和ScreenToClient 用法
    【C/C++开发】C中调用C++函数
    【C/C++开发】C中调用C++函数
    【C/C++开发】字符串操作
    【C/C++开发】字符串操作
  • 原文地址:https://www.cnblogs.com/lifeisshort/p/4676176.html
Copyright © 2011-2022 走看看