依照教學將專案推送到heroku,前面步驟一切順利沒有任何錯誤,直到這裡出現問題在網路上沒有找到解決方法。 。 。
感覺好像是setting.py的設定有問題,但跟教學裡對照是一樣的:
if os.getcwd()=='/app':
import dj_database_url
DATABASES={
'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 create
Creating app... done, protected-crag-1803
https://protected-crag-1803.h... | https://git .heroku.com/protec...
(ll_env) G:python_dorest>git push heroku master
Counting 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 detected
remote: -----> Installing python-3.5.2
—————————中間內容省略—————————
remote:為 django-bootstrap3 執行 setup.py install:開始
remote:為 django-bootstrap3 執行 setup.py install:完成狀態「done」
remote:成功安裝 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.0
remote:##remote: ----> $ python manage.pycollectstatic--noinput
remote:回溯(最近一次呼叫最後一次):
remote:檔案“manage.py”,第22行,在<模組>
remote中:execute_from_command_line( sys .argv)
remote:檔案“/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py”,第363行,在execute_from_command_line
remote :實用程式.execute()
remote:檔案“/app/.heroku/python/lib/python3.5/site-packages/django/core/management/__init__.py”,第355行,在execute
remote中: self.fetch_command(subcommand).run_from_argv(self.argv)
remote: 檔案「/app/.heroku/python/lib/python3.5/site-packages/django/core/management/base .py”,行283,在run_from_argv
remote: 檔案“/app/.heroku/python/lib/python3.5 /site-packages/django /core/management/base.py”,第330 行,在執行
remote: 輸出= self.handle(args, *options)
remote: 文件“/app/.heroku/ python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py”,第199 行,句柄
remote:collected = self.collect( )remote:檔案“/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py”,第124 行,在collect remote: handler(path, prefixed_path,儲存)
remote:檔案「/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/management/commands/collectstatic. py”,第354行,在copy_file
中遠端:如果不是self.delete_file(path, prefixed_path, source_storage):
remote: 檔案“/app/.heroku/python/lib/python3. 5/site-packages/django/contrib/staticfiles/management/commands/ collectstatic.py”,第260 行,delete_file
remote: if self.storage.exists(prefixed_path):
remote: File# 「/app/.heroku/python/lib/python3.5/site-packages/ django/core/files/storage.py",第392 行,存在
remote: return os.path.exists(self.path (name))
remote: File "/app/.heroku/python/ lib/python3.5/site-packages/django/contrib/staticfiles/storage.py",第50 行,路徑
remote: raise ImproperlyConfigured("您正在使用staticfiles 應用程式"
remote: django. core.exceptions.ImproperlyConfigured:您正在使用staticfiles 應用程序,而沒有將STATIC_ROOT 設定設為檔案系統路徑。
remote:
remote:
remote:!執行「$ python manage.pycollectstatic--noinput」時發生錯誤。
遠端:有關詳細信息,請參閱上面的回溯。
遠端:
遠端:您可能需要更新應用程式程式碼來解決此錯誤。
遠端:或者,您可以為此應用程式停用collectstatic:
遠端:
remote: $ heroku config:set DISABLE_COLLECTSTATIC=1
remote:
remote: https://devcenter.heroku.com/...
remote: !推送被拒絕,無法編譯 Python 應用程式。
remote:
remote: !推送失敗
遠端:正在驗證部署...
遠端:
遠端:!推送到 protected-crag-1803 被拒絕。
remote:
To https://git.heroku.com/protec...
! [遠端拒絕]master-> master(預先接收掛鉤被拒絕)
錯誤:無法將一些引用推送到「https://git.heroku.com/protec...」
淡淡烟草味2017-07-05 10:36:52
好好看錯誤日誌:
remote: File "/app/.heroku/python/lib/python3.5/site-packages/django/contrib/staticfiles/storage.py", line 50, in path
remote: 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.