我有一个 django 应用程序,我成功地部署到 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 admin staticfiles 并没有被使用,我在heroku 上获得了一个简单的django 管理站点,其中Debug 设置为False。
如果我将 Debug 设置为 True,我会在 heroku 上获得一个“丰富”的管理站点。将 Debug 设置为 True 或 False “git push heroku master” 命令终端输出没有任何关于收集静态文件的信息。
我尝试了使用 Heroku 的 gunicorn 的示例“helloworld”应用程序,它确实显示了“收集静态”消息。我还尝试将此代码片段插入到我的 urls.py 中。但这也无济于事。
从 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,但这也没有显示管理员样式。只有设置 Debug=True 才能显示我的管理员样式。
我在 Heroku 上使用 Django 1.4.2 和 1.5.1 进行了尝试,但都没有向我显示“正常”管理站点。有没有办法在不走 S3 路线的情况下将我的管理文件放在 heroku 上。