据我所知,标准的新用户进程注册(Django 2.x)仅对email field
进行验证exists
,对E-mail Schemas
进行等效。但是用户可能会写这样的电子邮件地址:JOHN_DOE@MAIL.COM
(通过Caps Lock)并将其保存到DB。
这将是危险的,因为其他用户可以注册这些电子邮件的帐户,但是使用小写:
john_doe@mail.com
或类似的,但仍然是该电子邮件地址!
所以,现在的问题是如何(智能)清理用户注册时的电子邮件地址?。我的想法:
我寻找解决这个问题的最佳实践,顺便说一句。
答案 0 :(得分:0)
我会将其更改为小写,然后保存它,因为它看起来像要完成的操作次数最少。它也应该制作最短的代码。
如果您决定在DB中检查它是否以小写字母唯一,然后保存它,您最终可能会检查数据库两次(第一次检查时为一次,保存时为第二次),如果您是'我会用错误的方式实现它。