2014-10-12 98 views
1

我有一个登录表单。另外我有一个庞大的数据库。 DB中的一个表是'zusers',其中存储有关用户的信息:usernamepassword,'telefon'和其他一些列。我了解了user = auth.authenticate(username = 'John', password = 'pass')。问题:wheredoes这个函数检查这个用户是否存在或不存在?以及如何做到这一点,以便此功能检查我的数据库表'zusers'中的用户?函数auth.authenticate()在哪里检查用户是否存在?

回答

1

您将需要在Django中为您的现有用户创建自定义身份验证后端。您可以在Django Docs上阅读更多内容:https://docs.djangoproject.com/en/dev/topics/auth/customizing/

您不需要手动检查auth.authenticate,只是换出后端。

您也可以替换一个完全定制的模型为你的Django用户支持telefon,在其他列你有https://docs.djangoproject.com/en/dev/howto/custom-model-fields/

我不会张贴任何示例代码,你没有提供任何自己和Django的上面的链接非常清楚地告诉你如何实现这一目标。

+0

我读了一篇关于验证后端的文章,所以我仍然有一个问题:如何为我的数据库中的每一行创建用户模型?文章中有一个解释,我们可以为每次登录尝试创建一个新的用户模型。但是,如何将所有用户从我的数据库转移到扩展用户模型? – andriy 2014-10-21 20:16:30