您的位置:首页技术文章
文章详情页

python - 为什么项目无法推送到Heroku?

【字号: 日期:2022-06-26 16:37:15浏览:27作者:猪猪

问题描述

按教程将项目推送到heroku,前面步骤一切顺利没有任何错误,直到这里出现问题在网上没有找到解决方法。。。

感觉好像是setting.py的设置有问题,但和教程里对照是一样的:

heroku的设置

if os.getcwd()==’/app’:

import dj_database_urlDATABASES={ ’default’:dj_database_url.config(default=’postgres://localhost’)}SECURY_PROXY_SSL_HEADER=(’HTTP_X_FORWARDED_PROTO’,’https’)ALLOWED_HOSTS = [’*’]BASE_DIR = os.path.dirname(os.path.abspath(__file__))STATIC_ROOT = ’staticfiles’STATICFILES_DIRS = ( os.path.join(BASE_DIR, ’static’),)

命令行的报错:

(ll_env) G:python_dorest>heroku createCreating app... done, protected-crag-1803https://protected-crag-1803.h... | https://git.heroku.com/protec...

(ll_env) G:python_dorest>git push heroku masterCounting objects: 48, done.Delta compression using up to 4 threads.Compressing objects: 100% (39/39), done.Writing objects: 100% (48/48), 11.18 KiB | 0 bytes/s, done.Total 48 (delta 3), reused 0 (delta 0)remote: Compressing source files... done.remote: Building source:remote:remote: -----> Python app detectedremote: -----> Installing python-3.5.2

—————————中间内容省略—————————

remote: Running setup.py install for django-bootstrap3: startedremote: Running setup.py install for django-bootstrap3: finished with status ’done’remote:Successfully installed Django-1.11.2 dj-database-url-0.4.2 dj-static-0.0.6 django-bootstrap3-8.2.3 gunicorn-19.7.1 psycopg2-2.7.1 pytz-2017.2 static3-0.7.0remote:remote: -----> $ python manage.py collectstatic --noinputremote:Traceback (most recent call last):remote: File 'manage.py', line 22, in <module>remote: execute_from_command_line(sys.argv)remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py', line 363, in execute_from_command_lineremote: utility.execute()remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py', line 355, in executeremote: self.fetch_command(subcommand).run_from_argv(self.argv)remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py', line 283, in run_from_argvremote: self.execute(args, *cmd_options)remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base.py', line 330, in executeremote: output = self.handle(args, *options)remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py', line 199, in handleremote: collected = self.collect()remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py', line 124, in collectremote: handler(path, prefixed_path, storage)remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py', line 354, in copy_fileremote: if not self.delete_file(path, prefixed_path, source_storage):remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py', line 260, in delete_fileremote: if self.storage.exists(prefixed_path):remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/core/files/storage.py', line 392, in existsremote: return os.path.exists(self.path(name))remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/storage.py', line 50, in pathremote: raise ImproperlyConfigured('You’re using the staticfiles app 'remote:django.core.exceptions.ImproperlyConfigured: You’re using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.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=1remote:remote:https://devcenter.heroku.com/...remote: ! Push rejected, failed to compile Python app.remote:remote: ! Push failedremote: Verifying deploy...remote:remote: ! Push rejected to protected-crag-1803.remote:To https://git.heroku.com/protec... ! [remote rejected] master -> master (pre-receive hook declined)error: failed to push some refs to ’https://git.heroku.com/protec...’

问题解答

回答1:

好好看错误日志啊:

remote: File '/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/storage.py', line 50, in pathremote: raise ImproperlyConfigured('You’re using the staticfiles app 'remote: django.core.exceptions.ImproperlyConfigured: You’re using the staticfiles app without having set the STATIC_ROOT setting to a filesystem path.

标签: Python 编程
相关文章: