def __call__(self, field, error=None, **kwargs):
"""Returns the recaptcha input HTML."""
try:
public_key = current_app.config['RECAPTCHA_PUBLIC_KEY']
except KeyError:
raise RuntimeError("RECAPTCHA_PUBLIC_KEY config not set")
query_options = dict(k=public_key)
if field.recaptcha_error is not None:
query_options['error'] = text_type(field.recaptcha_error)
query = url_encode(query_options)
_ = field.gettext
options = {
'theme': 'clean',
'custom_translations': {
'audio_challenge': _('Get an audio challenge'),
'cant_hear_this': _('Download sound as MP3'),
'help_btn': _('Help'),
'image_alt_text': _('reCAPTCHA challenge image'),
'incorrect_try_again': _('Incorrect. Try again.'),
'instructions_audio': _('Type what you hear'),
'instructions_visual': _('Type the text'),
'play_again': _('Play sound again'),
'privacy_and_terms': _('Privacy & Terms'),
'refresh_btn': _('Get a new challenge'),
'visual_challenge': _('Get a visual challenge'),
}
}
options.update(current_app.config.get('RECAPTCHA_OPTIONS', {}))
return self.recaptcha_html(query, options)
评论列表
文章目录