Skip to content

Don't require RECAPTCHA_PRIVATE_KEY to be set if RECAPTCHA_DISABLE is set #8

Open
@kylegibson

Description

@kylegibson

Currently, RECAPTCHA_PRIVATE_KEY has to be defined, even when RECAPTCHA_DISABLE is set, otherwise this stack trace happens:

  File "/home/vagrant/env/lib/python2.7/site-packages/snowpenguin/django/recaptcha3/fields.py", line 18, in __init__
    self._private_key = kwargs.pop('private_key', settings.RECAPTCHA_PRIVATE_KEY)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/conf/__init__.py", line 57, in __getattr__
    val = getattr(self._wrapped, name)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/conf/__init__.py", line 172, in __getattr__
    return getattr(self.default_settings, name)
AttributeError: 'Settings' object has no attribute 'RECAPTCHA_PRIVATE_KEY'
--------------------- >> end captured logging << ---------------------

This applies to RECAPTCHA_PUBLIC_KEY, but a different stack trace:

  File "/home/vagrant/env/lib/python2.7/site-packages/django/shortcuts.py", line 30, in render
    content = loader.render_to_string(template_name, context, request, using=using)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/loader.py", line 68, in render_to_string
    return template.render(context, request)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/backends/django.py", line 66, in render
    return self.template.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 207, in render
    return self._render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/test/utils.py", line 107, in instrumented_test_render
    return self.nodelist.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/loader_tags.py", line 177, in render
    return compiled_parent._render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/test/utils.py", line 107, in instrumented_test_render
    return self.nodelist.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/loader_tags.py", line 72, in render
    result = block.nodelist.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 990, in render
    bit = node.render_annotated(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/base.py", line 957, in render_annotated
    return self.render(context)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/template/library.py", line 225, in render
    _dict = self.func(*resolved_args, **resolved_kwargs)
  File "/home/vagrant/env/lib/python2.7/site-packages/snowpenguin/django/recaptcha3/templatetags/recaptcha3.py", line 14, in recaptcha_init
    return {'public_key': public_key or settings.RECAPTCHA_PUBLIC_KEY}
  File "/home/vagrant/env/lib/python2.7/site-packages/django/conf/__init__.py", line 57, in __getattr__
    val = getattr(self._wrapped, name)
  File "/home/vagrant/env/lib/python2.7/site-packages/django/conf/__init__.py", line 172, in __getattr__
    return getattr(self.default_settings, name)
AttributeError: 'Settings' object has no attribute 'RECAPTCHA_PUBLIC_KEY'

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions