用户密码Django1.5内置的用户认证系统介绍(之二)使用User对象

本文朋友在深圳吃饭的时候突然想到的...今天就有想写几篇关于用户密码的博客,所以回家到后之就奋笔疾书的写出来发表了

    说明:网上有关Django用户系统的内容不少,但是似乎没有针对Django1.5的。可能是因为Django1.5前目用的人还多不吧。(python3.x貌似也是种这情况)。因为自己要用,所以顺手在学习官方文档的中程过,边看边译。基本忠于原文(>95%),小分部太啰嗦的内容就当适意译、简化了。后续还会参加分部自己的会体(会注出),供参考。如有错讹、不精确处之,还请大家指教。

    Source:https://docs.djangoproject.com/en/1.5/topics/auth/default/

 

    

应用Django证认系统(authentication system)

    本文分析Django UAS在缺省置配下的基本功能用法。它几乎可以足满大分部的目项相干需求。对那些基本功能没法足满的目项,Django还支撑证认与权授功能的扩展和定制化(extension and customization

    Again,Django UAS包含了证认和权授,因为这两分部的功能互相联关,所以只用UAS/证认系统(authentication system)来指示这两分部。

    

用户象对 User objects

    用户象对是证认系统的心核。用户象对平日用来代表网站的用户,并支撑例如访问控制、注册用户、联关建创者和内容等。在Django证认框架中只有一个用户类,例如超级用户( ‘superusers’)或人员(‘staff’)用户只不过是雷同用户象对设置了不同属性而已。

    缺省用户的基本属性包含:

    

  • 用户名username
  • 密码password
  • email
  • 名字first name
  • 姓氏last name

    拜见整完的API文档(full API documentation),本文档的以下分部是面向任务方法编排的。

    

建创用户 Creating users

    建创用户最直接的方法是应用内置的 create_user() 方法:

>>> from django.contrib.auth.models import User
>>> user = User.objects.create_user('john', 'lennon@thebeatles.com', 'johnpassword')
 
# At this point, user is a User object that has already been saved
# to the database. You can continue to change its attributes
# if you want to change other fields.
>>> user.last_name = 'Lennon'
>>> user.save()

如果你设置好了Django admin后台,你还可以应用Web后台来建创用户(create users interactively)。

建创超级用户 Creating superusers

    如果你已经在置配文件的 INSTALLED_APPS里置配了'django.contrib.auth' ,那么在你第一次行运manage.py syncdb 时,会示提你建创一个超级用户。如果你在后之还想建创超级用户,你可以应用如下的命令行:

manage.py createsuperuser --username=joe --email=joe@example.com

序程会醒提你设置一个密码,如果输入了密码,用户就会被即立建创。如果你没有应用 --username 或 --email 项选,那么还会示提你输入这些内容。

变动密码 Changing passwords

    每日一道理
最为值得珍惜的是今天,因为最容易流逝的就是今天,把握今天就是把握希望,分分秒秒只是瞬间,而所乘载的分分秒秒就叫做一天,时间的流逝往往是在不经意之间,人生几回,青春更珍贵,对于我们这个年龄的青少年来说,青春已不足二十载,在学习的生活中我们必须靠自己的力量,驾驭着自己的小船驶向希望的彼岸。

    Django不在用户模型(数据库表)中保存密码文本 (clear text),而只保存哈希值 (体具拜见documentation of how passwords are managed)。因此,不要去直接作操用户的password属性。这也是为什么要供提helper函数来建创用户的原因。

    可以由多个方法来变动用户密码:

    manage.py changepassword *username* 供提了一个变动密码的命令行方法。它会示提输入新密码并认确输入,如果两次输入分歧,新密码会即立失效。如果你未指定用户,序程会试尝指定修改以后系统用户的密码。

    你也可以用序程来变动密码,方法是 set_password()

>>> from django.contrib.auth.models import User
>>> u = User.objects.get(username__exact='john')
>>> u.set_password('new password')
>>> u.save()

如果你置配好了Django admin后台,你也可以应用Web后台来修改用户密码(authentication system’s admin pages

Django供提了相干的 views 和 forms 可供用户应用修改密码。

    

用户证认Authenticating Users

    authenticate(**credentials)

    要需证验username 和password时,应用 authenticate()方法。它受接表单参数供提的全安凭证(credentials)做参数,在缺省置配下,是 username 和password,如果证验通过就返回一个User象对,如果密码无效,则返回None:

from django.contrib.auth import authenticate
user = authenticate(username='john', password='secret')
if user is not None:
    # the password verified for the user
    if user.is_active:
        print("User is valid, active and authenticated")
    else:
        print("The password is valid, but the account has been disabled!")
else:
    # the authentication system was unable to verify the username and password
    print("The username and password were incorrect.")

 

文章结束给大家分享下程序员的一些笑话语录: 系统程序员
  1、头皮经常发麻,在看见一个蓝色屏幕的时候比较明显,在屏幕上什幺都看不见的时候尤其明显;
  2、乘电梯的时候总担心死机,并且在墙上找reset键;
  3、指甲特别长,因为按F7到F12比较省力;
  4、只要手里有东西,就不停地按,以为是Alt-F、S;
  5、机箱从来不上盖子,以便判断硬盘是否在转;
  6、经常莫名其妙地跟踪别人,手里不停按F10;
  7、所有的接口都插上了硬盘,因此觉得26个字母不够;
  8、一有空就念叨“下辈子不做程序员了”;
  9、总是觉得9号以后是a号;
  10、不怕病毒,但是很害怕自己的程序;

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值