带有Django 2内置LoginView的Google Re-captcha

时间:2019-07-07 12:53:21

标签: python django recaptcha django-authentication django-2.0

我正在使用Python(3.7)和Django(2)开发一个项目,其中我必须实现Google的Recaptcha。为了进行身份验证,我使用的是LoginView中内置的Django,contrib.auth.views,如何通过此身份验证视图验证验证码?因为在我们的自定义情况下,我们通过传递密钥向Recaptcha api发送请求,并检查结果是否为Success,但是在这种情况下,我们将其传递给此内置视图。

这是我到目前为止尝试过的:

来自urls.py

path('login/', LoginView.as_view(extra_context={'key': settings.RECAPTCHA_PUBLIC_KEY}), name='login'),

来自login.html

<form action="{% url 'login' %}" method="post" class="p-3">
                    {% csrf_token %}
    <div class="form-group">
         <label for="recipient-name" class="col-form-label">Username</label>
         <input type="text" class="form-control" placeholder=" " name="username" id="recipient-name"
                               required="">
     </div>
     <div class="form-group">
         <label for="password" class="col-form-label">Password</label>
         <input type="password" class="form-control" placeholder=" " name="password" id="password"
                               required="">
     </div>
     <div class="form-group">
          <script src='https://www.google.com/recaptcha/api.js'></script>
          <div class="g-recaptcha" data-sitekey="{{ key }}"> {{ key }}</div>
     </div>
     <div class="right-w3l">
          <input type="submit" class="form-control" value="Login">
     </div>

</form>

0 个答案:

没有答案