在部署过程中的Heroku collectstatic无法运行(Heroku collectstat

2019-08-20 02:22发布

我有一个Django应用程序,我成功地deplying到的Heroku。 当我干运行的collectstatic命令在本地一切工作正常。

python manage.py collectstatic --dry-run --noinput
....
Pretending to copy '/Users/hari/.virtualenvs/bsc2/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/admin/ordering.js'
Pretending to copy '/Users/hari/.virtualenvs/bsc2/lib/python2.7/site-packages/django/contrib/admin/static/admin/js/admin/RelatedObjectLookups.js'

71 static files copied.

尽管..my Django管理staticfiles不习惯于和我得到一个裸机Django管理站点在Heroku与调试设置为False。

如果我调试设置为True,我得到在Heroku上一个“富”管理站点。 随着调试设置为真或假“混帐推Heroku的主人”命令端子输出没有关于收集staticfiles什么。

我试图从Heroku的使用gunicorn,但这并显示“采集静态” messages.I还试图将这个代码片断到我urls.py.的例子中的“HelloWorld”应用 但是,这也并不能帮助。

从django.conf导入设置

if not settings.DEBUG:
    urlpatterns += patterns('',
    (r'^static/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.STATIC_ROOT}),

接下来,我尝试添加以下到我的Heroku的配置

heroku config:add DISABLE_COLLECTSTATIC=0

但是,这也并没有表现出我的Django管理站点的所有样式。

最后,我想切换与我Procfile到gunicorn并且还没有表现出管理风格。 只有设置调试=真正的作品,以显示我的管理风格。

我在Heroku上使用Django 1.4.2和1.5.1尝试这样做,既不是我展示一个“正常的”管理站点。 有没有出路有在Heroku我的管理文件,而不要去的S3路线。

Answer 1:

命令终端输出不具有关于收集staticfiles任何东西。

纵观Heroku的-buildpack的Python:斌/措施/ collectstatic它似乎试图做一个collectstatic --dry-run --noinput和管道其输出到/dev/null显示之前-----> Collecting static files的消息。 这意味着,如果有错误出现,是不是出现在本机上, 你永远不会看到在Heroku上的错误:它会静静地失败 。 (最好的那种失败的;)

你尝试过运行一次性工作者测试出collectstatic命令,看看它是否在他们的环境中的问题?

heroku run python manage.py collectstatic --dry-run --noinput

如果失败了,它会给你一个错误或回溯寻找到,并进一步诊断问题。



Answer 2:

检查了这一点Django和静态资产 。 这似乎是最近更新,您可以很好地利用这种静态文件DJ静电包装。



Answer 3:

试试这三样东西:

  • :创建一个该Heroku的配置变量DJANGO_SETTINGS_MODULE具有的价值myapp.settings.prod --or适合您的Heroku设置文件
  • 在Heroku的文档描述使用白噪声: https://devcenter.heroku.com/articles/django-assets
  • 检查它并重新部署DYNO: git push heroku master

我发现我失踪的第一个项目,该DJANGO_SETTINGS_MODULE “例如,命令行collectstatic的工作,但认为并不重要B / C,这是一个短暂的赛道



Answer 4:

把它扔在那里,因为愚蠢的错误发生:

我花了很多时间试图弄清楚,当它工作正常当地为什么在Heroku上并没有发现我的模块,才意识到它是由进入忽略.slugignore



文章来源: Heroku collectstatic not run during deployment