2024-03-28 23:43:14 发布
网友
我刚刚完成了Django教程,想要创建一个需要用户使用电子邮件地址和密码登录的网站。这完全独立于Django令人敬畏的内置管理站点(只有一两个特殊的人可以访问管理员)。在
我的问题是:
我是否应该创建一个单独的数据库表来存储用户凭据、信息等?还是应该使用现有的Django表?
如前所述,用户应该使用电子邮件地址登录。这对Django来说会是个问题吗?
其他最佳做法将不胜感激。谢谢您。在
用户登录不需要单独的表。仅仅利用Auth framework允许用户使用他们的电子邮件地址登录是非常简单的,但是有几种不同的方法来处理这个问题。您需要从:https://docs.djangoproject.com/en/1.7/topics/auth/customizing/
首先什么是中间件 这是一个轻量级的低级别“插件”系统,用于全局更改Django的输入或输出。在
你可以在这里读到如何activating-middleware
创建电子邮件后端middleware将帮助您实现基于电子邮件地址作为用户名的用户身份验证
middleware
def authenticate(self, username=None, password=None): try: user = User.objects.get(email=username) if user.check_password(password): return user except User.DoesNotExist: return None
布兰登是对的, 最简单的方法是定制后端,而不是Django默认值 我们来吧 在你的设置.py公司名称:
AUTHENTICATION_BACKENDS = ('accounts.backend.EmailOrUsernameModelBackend')
然后在帐目里/后端.py公司名称:
现在你可以用你的用户名或电子邮件登录 玩得开心
用户登录不需要单独的表。仅仅利用Auth framework允许用户使用他们的电子邮件地址登录是非常简单的,但是有几种不同的方法来处理这个问题。您需要从:https://docs.djangoproject.com/en/1.7/topics/auth/customizing/
首先什么是中间件 这是一个轻量级的低级别“插件”系统,用于全局更改Django的输入或输出。在
你可以在这里读到如何activating-middleware
创建电子邮件后端
middleware
将帮助您实现基于电子邮件地址作为用户名的用户身份验证布兰登是对的, 最简单的方法是定制后端,而不是Django默认值 我们来吧 在你的设置.py公司名称:
然后在帐目里/后端.py公司名称:
^{pr2}$现在你可以用你的用户名或电子邮件登录 玩得开心
相关问题 更多 >
编程相关推荐