为什么Google ReCaptcha不会阻止提交表单?

时间:2016-02-25 16:14:59

标签: python django forms recaptcha

我使用django-nocaptcha-recaptcha并按照文档中的确切步骤进行操作:https://github.com/ImaginaryLandscape/django-nocaptcha-recaptcha

这是我的模板:

{% extends 'base.html' %}

{% block content %}
<div class="col-sm6 col-sm-offset-3">
    <h1>HastePaste</h1>
    <form method="POST" action=""> {% csrf_token %}
        {{ form.as_p }}
        <input type="submit" class="btn btn-default">
        <div class="g-recaptcha" data-sitekey="6LfimBYTAAAAANXrMzDUVTiUHAm7ZaN2AR1Qs2SG"></div>
    </form>
</div>

{% endblock %}

<script src="https://www.google.com/recaptcha/api.js" async defer></script>
base.html中的

我的表格:

from django import forms
from nocaptcha_recaptcha.fields import NoReCaptchaField
from posts.models import Post


class PostForm(forms.ModelForm):
class Meta:
    model = Post
    fields = '__all__'
    captcha = NoReCaptchaField()

公钥和密钥位于已安装的应用中的“nocaptcha_recaptcha”设置中。任何帮助都会很棒!

编辑:对不起,如果我的问题不明确。不起作用意味着验证码显示,但它没有效果。即使未检查验证码,我也可以提交表格。

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题。 NoReCaptchaField不应该在Meta类中。它的工作原理如下:

{{1}}

如果忽略验证码,我会收到错误消息,但我想这是一个不同的问题。