2016-09-30 52 views
2

在我的settings.py静态文件,Django的支持生产

STATIC_ROOT = '/home/khantthulinn/webapps/static_media/' 
STATIC_URL = '/home/khantthulinn/webapps/static_media/' 

在我的urls.py,

urlpatterns = patterns('', 

    url(r'^admin/', admin.site.urls), 

    #Media 
    (r'^media/(?P<path>.*)$', 'django.views.static.serve', { 
     'document_root': settings.MEDIA_ROOT}), 

)+ static(settings.STATIC_ROOT, document_root=settings.STATIC_ROOT) 

之后,在我的Web服务器,我抄静态文件。

python manage.py collectstatic 

一切都很好,我看得很清楚。

当我更改DEBUG = False时,它会变成问题。

我已经阅读过,但我不明白。

https://docs.djangoproject.com/en/1.10/howto/static-files/deployment/

我从这里也读解。

Why does DEBUG=False setting make my django Static Files Access fail?

使用调试关闭Django将不能处理静态文件为您的任何 更多 - 您的生产Web服务器(Apache或东西)应采取 照顾那个。

我想尝试一下。我该怎么办?

我不想运行这个,因为它是不安全的。

manage.py runserver --insecure 
+1

'您的生产Web服务器(Apache或其他)应该照顾',所以你需要配置Apache或什么来处理静态。 –

+0

是的。你能指导我配置Apache吗?我在webfaction中托管。 –

回答

0

,你需要改变你的wsgi.py文件。

所有你需要插入是在您的文件的末尾那些行:

from django.core.wsgi import get_wsgi_application from django.contrib.staticfiles.handlers import StaticFilesHandler application = StaticFilesHandler(get_wsgi_application())

请注意,我使用Django 1.8(LTS),我不太清楚,如果这些功能仍然在实际版本中。