私はサイトにフォームを持つDjangoアプリケーションを組み立てていますが、これらのフォームを手動でレンダリングしています(実際には各フィールドをタイプしてAJAXで送信しています)。フォームのないDjangoのRecaptcha?
どのように私のフォームにRecaptchaを統合できますか?助けてくれてありがとう!
私はサイトにフォームを持つDjangoアプリケーションを組み立てていますが、これらのフォームを手動でレンダリングしています(実際には各フィールドをタイプしてAJAXで送信しています)。フォームのないDjangoのRecaptcha?
どのように私のフォームにRecaptchaを統合できますか?助けてくれてありがとう!
私はreCAPTCHAのために、このPythonクライアントを使用しています:
http://pypi.python.org/pypi/recaptcha-client
その後、私の見解は次のようになります。
captcha_key = get_config('RECAPTCHA_PUB_KEY',None)
recaptcha_challenge_field = request.POST.get('recaptcha_challenge_field', None)
recaptcha_response_field = request.POST.get('recaptcha_response_field', None)
check_captcha = captcha.submit(recaptcha_challenge_field, recaptcha_response_field, settings.RECAPTCHA_PRIVATE_KEY, request.META['REMOTE_ADDR'])
if check_captcha.is_valid is False:
log.info('captcha_error : %s' % check_captcha.error_code)
return {'TEMPLATE':template_name,'captcha_error': True,'register_form': f,'captcha_key':captcha_key ,'next':redirect_to}
reCAPTCHAのクライアントがのpython3では動作しません。私はdjango-recaptcha(https://pypi.python.org/pypi/django-recaptcha/1.0)を使用して終了しました。次に、[...]
recaptcha_response = captcha.client.submit(
request.POST.get('recaptcha_challenge_field'),
request.POST.get('recaptcha_response_field'),
'[[privatekey]]',
request.META['REMOTE_ADDR'],)
を
import captcha.client
:簡単な文書は、「ReCaptchaField」フォームフィールドを使用してのreCAPTCHAを実装する方法について説明していますが、ちょうどこのようcaptcha.clientから提出機能を使用することができますrecaptcha_response.is_valid
かどうかを確認します。
INSTALLED_APPSなどにrecaptchaを追加する必要はありません。
この質問は、そこにたくさんのオプションがあります(http://stackoverflow.com/questions/1526399/django-forms-wizard-and-recaptcha)。 –