为什么Django身份验证功能仅适用于此?
user=authenticate(
username=request.POST['username'],
password=request.POST['password']
)
而不是
user=authenticate(
request.POST['username'],
request.POST['password']
)
答案 0 :(得分:3)
可能有许多不同的身份验证后端,他们可能使用与用户名和密码不同的身份验证方式,即某种令牌。为了保持authenticate()
方法的通用性,必须以这种方式实现
Official documentation表示"它将凭据作为关键字参数,用户名和密码作为默认情况。"关键部分是:表示默认情况
可以作为位置参数给出的唯一参数是可选的request
参数。