繁体   English   中英

Heroku推送被拒绝(Django应用)

[英]Heroku push rejected (Django app)

我正在将Django应用程序部署到GitHub和Heroku。
我首先将其部署到GitHub,删除(将其放入.gitignore文件中)“ settings.py”,现在我试图将其推送到Heroku,但出现错误:

ImportError: No module named settings
remote: 
remote:  !     Error while running '$ python manage.py collectstatic --noinput'.
remote:        See traceback above for details.
remote: 
remote:        You may need to update application code to resolve this error.
remote:        Or, you can disable collectstatic for this application:
remote: 
remote:           $ heroku config:set DISABLE_COLLECTSTATIC=1
remote: 
remote:        https://devcenter.heroku.com/articles/django-assets
remote: 
remote:  !     Push rejected, failed to compile Python app

我如何避免将某些文件推送到GitHub,但同时又有可能将其推送到Heroku?

更新:

我试图将settings.py和temp_settings.py分开,但是现在该应用程序不再起作用。 这是我尝试运行本地服务器时的回溯:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/stefano/projects/blog-project/blogprojectenv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
    utility.execute()
  File "/home/stefano/projects/blog-project/blogprojectenv/local/lib/python2.7/site-packages/django/core/management/__init__.py", line 303, in execute
    settings.INSTALLED_APPS
  File "/home/stefano/projects/blog-project/blogprojectenv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in __getattr__
    self._setup(name)
  File "/home/stefano/projects/blog-project/blogprojectenv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 44, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/stefano/projects/blog-project/blogprojectenv/local/lib/python2.7/site-packages/django/conf/__init__.py", line 92, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/home/stefano/projects/blog-project/blogproject/settings.py", line 104, in <module>
    DATABASES['default'].update(db_from_env)
NameError: name 'DATABASES' is not defined

似乎settings.py无法“到达” temp_settings.py,因为我已经将temp_settings中的所有数据库设置都剪切粘贴了。 错了吗

通常的做法是不要忽略代码库中的settings.py文件。 相反,请执行以下操作:

try:
    from temp_settings import *
except ImportError:
    pass

在settings.py文件的末尾,并将temp_settings.py添加到.gitignore

对于您需要保留的凭据,请使用temp_settings。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM