[系列教程]Django 网站登录、注册、修改密码等用户认证功能完全指南


网站提供登录、注册等用户认证功能是一个常见的需求。因此,Django 提供了一套功能完整的、灵活的、易于拓展的用户认证系统:django.contrib.auth。在本教程中,我将向你展示 auth 模块的基本用法,例如如何提供用户注册、登录、修改密码、找回密码等功能;如何拓展 auth 内置的 User 模型;如何自定义用户验证后台,以支持用户使用诸如邮箱手机号等用户名登录(默认只支持使用用户名登录)等等。

  • 8 条回复 | 5 人参与
  • 支持,支持 想请教下 比如要限制用户添加数据的条数 这种权限应该怎么写呢? 比如Group A能写5条 Group B能写10条

  • @cheng8984 权限模块请参考 django.contrib.auth 的源码,略微有点复杂。

  • bojack # 3

    刚想说应该再出个验证邮箱是否真实的教程,原来这个网站是有的。另外问问,分用户之后,如果要区分用户的数据,是否应该在所有数据表中添加一个user的字段,渲染的时候把数据区分开来

  • @bojack 什么是分用户之后,如果要区分用户的数据

  • bojack # 5

    @追梦人物 不好意思,描述的不清楚。打个比方,一个通讯录系统,每个用户都有自己的联系人,所以应该在联系人的数据表里添加一个用户标识来区分用户的联系人吗?

  • @bojack 是的,一个用户可以有多个联系人,这是一个多对多的关系。

  • 博主,我用django-allauth添加GitHub登陆的时候,所需要的app都添加了,site_id=1也添加了,在django admin后台也把social account加上了,但是用http://127.0.0.1:8000/account s/login/登陆的时候提示DoesNotExist at /accounts/login/ Site matching query does not exist. 这可能是什么原因呢,代码在https://github.com/TTTTTong/PythonDemos/tree/master/DjangoDemo/mysite

  • 测试

添加一条新回复
登录 或者 注册 后发表回复