【发布时间】:2013-06-01 01:28:47
【问题描述】:
我正在努力将网站部署到 heroku。如果我使用 django 的内置服务器“runserver”运行,该站点似乎可以识别我的静态文件。但是,如果我使用 gunicorn 运行,则无法识别静态文件。我想知道是否需要调整任何特殊设置才能神奇地实现识别。谁能告诉我这两个命令具体有何不同,或者与 wsgi 人员有什么关系?
谢谢!!!
这就是我在 Procfile 中使用 runserver 的方式,非常简洁。
web:python manage.py runserver
这就是我在 Procfile 中使用 gunicorn 所做的,这是一团糟
网络:gunicorn some.dotted.path.to.mywsgi:application
更新
幸运的是,我通过在我的 urls.py 中包含以下行来解决这个问题。虽然我知道这不是一个完美的解决方案,因为实际上,您需要关闭 DEBUG。但至于现在正在开发中。它运作良好。谁能解释一下这条线的神奇作用?
if settings.DEBUG:
urlpatterns += patterns('django.contrib.staticfiles.views',
url(r'^static/(?P<path>.*)$', 'serve'),
)
【问题讨论】:
-
django 开发服务器 ('runserver') 不适用于生产环境 (docs.djangoproject.com/en/dev/ref/django-admin/…)。
-
是的,我知道。这就是我生气的原因。我必须使用 gunicorn xxx.wsgi 但它不能正常工作