python - 使用 modelform 的 Django 身份验证

标签 python django django-authentication

我有两个模型

from django.contrib.auth.models import User
class Vendor(models.MOdel):
    user = models.ForeignKey(User,related_name = 'vendor')
    ......................................................
    ......................................................
class Customer(models.MOdel):
    user = models.ForeignKey(User,related_name = 'customer')
    ........................................................
    .......................................................

我想做的是为供应商和客户启用登录。供应商的登录 url 是“供应商/登录”,客户是“客户/登录”。当供应商提交他的凭据时,我想检查是否用户是否是供应商并引发验证错误。我找不到使用 django 完成此操作的方法。我基本上需要的是类似于用户的模型表单,它检查用户是使用查询集的供应商。但是 django auth 没有这样的东西。

最佳答案

对我来说最好的策略是编写两个身份验证后端,一个启用供应商身份验证,另一个为客户进行身份验证。

AUTHENTICATION_BACKENDS 是提供授权后端元组的设置常量。 here你能查看有关身份验证后端的文档吗?

使用设置参数声明您的实现。顺序计数 django 将尝试所有后端,直到一个成功。

关于python - 使用 modelform 的 Django 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17572690/

相关文章:

Python Social Auth 多范围额外数据

python - Django FormView 不保存

django-rest-framework - 有没有办法通过 Authtoken 将可浏览的 API 用于 Django Rest Framework

django - super 用户在基于类的 View 中进行身份验证

python - 在 python 类中存储和检查 boolean 值

python - 从子线程 python 中杀死 main thead

python - 改进对 Twitter 查询的列表理解

python - 使用 python 读取 csv 中的特定列

python - django - 如何创建要在多个 View 中使用的对象(对于动态菜单)

python - Django : How to login user directly after registration using generic CreateView