【发布时间】:2013-03-29 04:37:14
【问题描述】:
我有一个 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”应用程序,它确实显示了“收集静态”消息。我还尝试将此代码 sn-p 插入到我的 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 上。
【问题讨论】:
标签: django heroku django-admin