2016-09-30 55 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),我不太清楚,如果這些功能仍然在實際版本中。