我正在尝试使用Heroku部署Django项目,但在运行SECRET_KEY命令时却遇到了空的heroku run python manage.py syncdb问题:
回溯(最近一次调用): 文件"manage.py",第10行,execute_from_command_line(sys.argv) 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py",第338行,在execute_from_command_line utility.execute()中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py",行330,在执行self.fetch_command(subcommand).run_from_argv(self.argv)中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py",第190行,在fetch_command klass = load_command_class(app_name,子命令)中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/management/init.py",第40行,在load_command_class模块=import_module(‘%s’命令.%s‘% (app_name,名称))中 文件"/app/.heroku/python/lib/python2.7/importlib/init.py",第37行,在import_module import(name)中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/management/commands/syncdb.py",第4行,从django.contrib.auth导入get_user_model 文件"/app/.heroku/python/lib/python2.7/site-packages/django/contrib/auth/init.py",第7行,从django.middleware.csrf导入rotate_token 文件"/app/.heroku/python/lib/python2.7/site-packages/django/middleware/csrf.py",第14行,从django.utils.cache导入patch_vary_headers 文件"/app/.heroku/python/lib/python2.7/site-packages/django/utils/cache.py",第26行,从django.core.cache导入缓存 文件"/app/.heroku/python/lib/python2.7/site-packages/django/core/cache/init.py",第34行,如果DEFAULT_CACHE_ALIAS不在settings.CACHES中: 文件"/app/.heroku/python/lib/python2.7/site-packages/django/conf/init.py",第48行,在getattr self._setup(名称)中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/conf/init.py",第44行,在_setup self._wrapped = Settings(settings_module)中 文件"/app/.heroku/python/lib/python2.7/site-packages/django/conf/init.py",第113行,在init中引发ImproperlyConfigured(“SECRET_KEY设置不得为空”)。django.core.exceptions.ImproperlyConfigured: SECRET_KEY设置不能为空。
但是,运行python manage.py syncdb是完全可以的。在我的settings.py文件中,我甚至显式地将SECRET_EKY写成:
import os
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
SECRET_KEY = '*$_99!t5u&#w&9boeq()=obq@rjdsfasdfa#8hp_5s%h-mh(hk'`我还是有同样的问题。我想知道是否缺少环境变量DJANGO_SETTINGS_MODULE,但是运行heroku config给了我(我用xxx替换了信息):
DATABASE_URL: xxx DJANGO_SETTINGS_MODULE: xxx SECRET_KEY: xxx
似乎相关的环境变量确实存在。我真的希望你能给我一些建议。先谢谢你。
发布于 2020-12-14 08:28:37
不久前我也面对过这个问题。下面的命令为我解决了这个问题
命令:heroku config:set SECRET_KEY="your_secret_key"
发布于 2015-09-04 01:53:29
可能是个愚蠢的问题,但你在运行heroku run python manage.py syncdb吗?
如果是这样的话,我很有信心,你的设置模块没有加载。
这可能有以下原因之一:
你对manage.py或wsgi.py做了什么修改吗?
如果我能想到更多的话,我就编辑这个答案。
https://stackoverflow.com/questions/32366718
复制相似问题