尝试使用以下内容编写自己的自定义身份验证后端:
https://docs.djangoproject.com/en/1.11/topics/auth/customizing/#writing-an-authentication-backend
我想用以下元素实现authenticate函数:
我将函数定义如下:
def authenticate(self, username=None, password = None, verification_code = None):
...
但是我只获得username
和password
的值,而不是verification_code
。
登录表单如下所示:
<form id="login-form" method="POST">
{% csrf_token %}
...
<input id="user_name" type="text" class="form-control" name="username" placeholder="Email Address" required="" autofocus="" />
<input id="password" type="password" class="form-control" name="password" placeholder="Password" required=""/>
<input id="verification_code" type="text" class="form-control" name="verification_code" placeholder="Verification Code" required=""/>
<button class="btn btn-lg btn-primary btn-block" type="submit">Login</button>
</form>
任何帮助都会非常感激:)
答案 0 :(得分:0)
从Django 1.11开始,您还必须包含request
参数:
https://docs.djangoproject.com/en/2.0/topics/auth/customizing/#writing-an-authentication-backend
在Django 1.11中更改:
request
参数已添加到authenticate()
,并且在Django 2.1中将删除对不接受它的后端的支持。