ImproperlyConfigured: The SECRET_KEY setting must not be empty —09 June 2013
I hit by a strange issue with Django. If I try to use a local configuration with
./manage.py shell --settings=myproject.local_settings
I got the error:
ImproperlyConfigured: The SECRET_KEY setting must not be empty
SECRET_KEY is certainly set. No stack trace, just a single line of error.
The cause turned out to be that in the main
settings.py file I imported a method from one of my apps like this:
from accounts.views import render_failure OPENID_RENDER_FAILURE = render_failure
I don’t understand why exactly this is a problem, but removing the import solved the issue. On the other hand, I needed that import as the
OPENID_RENDER_FAILURE setting of the
django-openid-auth package takes a callable, giving it the absolute function name
accounts.views.render_failure as a string doesn’t cut it. I worked around that like this:
def render_failure(*args, **kwargs): from accounts.views import render_failure return render_failure(*args, **kwargs) OPENID_RENDER_FAILURE = render_failure
Now everything works fine.