80
|
damon Curtis Snowden · 技术社区 · 16 年前 |
![]() |
1
35
如果有人想这么做,我建议你看看
django-email-as-username
这是一个非常全面的解决方案,包括修补管理员和
编辑 :从Django 1.5开始,您应该考虑使用 custom user model 而不是 django电子邮件用户名 . |
![]() |
2
28
这是我们要做的。这不是一个“完整”的解决方案,但它能满足你的大部分需求。
|
![]() |
3
22
有一种方法可以同时接受用户名和电子邮件:
不知道是否有设置来设置默认身份验证表单,但也可以重写url.py中的url
当提交无效电子邮件时,提升ValidationError将防止500个错误。使用super对“invalid_login”的定义会使错误消息保持不明确(与特定的“未找到该电子邮件的用户”相比),这将是防止泄露电子邮件地址是否已注册到您服务的帐户所必需的。如果该信息在您的体系结构中不安全,那么可能会有一个更具信息性的错误消息。 |
![]() |
4
8
Django现在提供了一个扩展身份验证系统的完整示例,其中包含管理和表单: https://docs.djangoproject.com/en/stable/topics/auth/customizing/#a-full-example
你基本上可以复制/粘贴它并适应(我不需要
它实际上是从Django 1.5开始提供的,现在仍然可以使用(django1.7)。 |
![]() |
5
7
如果要扩展用户模型,无论如何都必须实现自定义用户模型。
这里是Django 1.8的一个例子。Django 1.7需要更多的工作,主要是更改默认表单(只需看看
用户管理器.py:
型号.py:
forms.py格式:
设置.py:
|
![]() |
6
2
其他替代方案对我来说太复杂了,所以我编写了一个代码片段,允许使用用户名、电子邮件或两者进行身份验证,还允许启用或禁用区分大小写。我把它作为 django-dual-authentication .
|
![]() |
7
1
最新版本的django注册允许一些很好的定制,可以在这里完成工作文档 https://bitbucket.org/ubernostrum/django-registration/src/fad7080fe769/docs/backend-api.rst |
|
8
1
工作完美。。。对于django 1.11.4 |
![]() |
9
0
|
![]() |
10
0
最简单的方法是根据登录视图中的电子邮件查找用户名。这样你就可以不去管其他事情了:
在模板中相应地设置下一个变量,即。
并输入正确的用户名/密码,即用户名、密码。 更新 : 或者,如果“是有效的”电子邮件(电子邮件):可以用用户名中的if“@”替换呼叫。这样您就可以删除有效的电子邮件功能。这真的取决于你如何定义你的用户名。如果您允许用户名中有“@”字符,它将不起作用。 |
![]() |
11
0
我认为最快的方法是创建一个继承自
例如: 网址.py
视图.py
signon.html网站
|
|
12
0
不确定人们是否正在尝试完成这一点,但我找到了一个很好的(干净的)方法,只要求电子邮件,然后在保存之前将用户名设置为视图中的电子邮件。 我的用户表单只需要电子邮件和密码:
然后在我看来,我添加了以下逻辑:
|
![]() |
Patrick Bond · 如何将模型中的函数结果添加到列表中? 5 月前 |
![]() |
bur · 每次从模板调用方法都会查询数据库吗? 6 月前 |
|
Stefan · 在子目录中设置Django 6 月前 |
![]() |
vale383 · 如何在Django端点中查找user_id 6 月前 |
![]() |
Kovy Jacob · Django在动态URL段中添加斜线 6 月前 |
![]() |
user987 · 如何在Django中访问提交的表单请求数据 7 月前 |
![]() |
user24242514 · 将嵌套查询字符串请求转换为字典 7 月前 |