2017-12-18 130 views
-3

我想了解B上的差异/ W两种Django中的b/w authenticate()和login()有什么区别?

user = authenticate(
    username=form.cleaned_data.get('username'), 
    password=form.cleaned_data.get('password1') 
) 
login(request, user) 
+1

'authenticate()'验证一组凭据。它将凭据作为关键字参数,默认情况下的用户名和密码,并针对每个验证后端进行检查,并在凭据对后端有效时返回User对象。并且要从一个视图登录一个用户,使用'login()'。它需要一个HttpRequest对象和一个User对象。 login()使用Django的会话框架将用户的ID保存在会话中。更多详情[here](https://docs.djangoproject.com/zh/2.0/topics/auth/default/#how-to-log-a-user-in) –

回答

1

身份验证()方法接受用户名和密码并验证,如果输入的凭据是那些合法用户。如果是,则返回一个用户对象。

登录方法需要HttpRequest对象和auth_user对象。并将用户登录并将其绑定到请求对象,但也可以在Session中绑定。