2017-02-25 172 views
0

我正在使用Django版本1.10。項目工作正常調試= True,但是當我將它設置爲False不是。 Django無法找到靜態文件。Django管理靜態文件404

我的Django的設置是這樣的:

INSTALLED_APPS = [ 
'django.contrib.admin', 
'django.contrib.auth', 
'django.contrib.contenttypes', 
'django.contrib.sessions', 
'django.contrib.messages', 
'django.contrib.staticfiles', 
'master', 
'update', 
] 

STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder', 
    'django.contrib.staticfiles.finders.AppDirectoriesFinder', 
    ) 

STATIC_ROOT = os.path.join(BASE_DIR, "static") 
STATIC_URL = '/static/' 
STATICFILES_DIRS =() 

而urls.py

from django.conf.urls import url, include 
from django.contrib import admin 
from django.conf import settings 
from django.conf.urls.static import static 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^master/', include('master.urls')), 
    url(r'^update/', include('update.urls')), 
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT) 

uwsgi.ini文件

[uwsgi] 
chdir   = %v 
virtualenv  = %v/py 
module   = go_conf.wsgi 
master   = true 
http   = :8000 
vacuum   = true 

buffer_size  = 64k 
max-requests = 100 
daemonize  = %v/log.txt 

我ASLO用蟒蛇manage.py collectstatic,和它收集了一切,但仍然沒有工作。

我試圖通過閱讀本網站上的其他文章解決這個問題,但沒有任何真正爲我工作。

希望,有人會終於幫助。

+2

使用調試關閉Django將不能處理靜態文件你了 - 你的生產Web服務器(Apache或東西)應採取關心這一點。參考:http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail –

+1

可能重複的[爲什麼DEBUG = False設置讓我的django靜態文件訪問失敗?](http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail) –

+0

是的,我注意到。但是即使當我使用uwsgi時,這也不起作用。我編輯了我的問題並添加了uwsgi.ini文件。 –

回答

0

這是Django的設計。從the docs的報價靜態文件發展觀

如果DEBUG是True此觀點只會工作。

這是因爲這種觀點是嚴重低效和可能不安全。這隻適用於本地開發,不應該用於生產。

如果您正在設置DEBUG=False您可能要生產。如果是這樣,你的靜態文件必須由web服務器(例如Nginx,Apache等)提供服務。

+0

我只是用http參數使用uwsgi。在我的vps上,我安裝了nginx。 –

+0

如果你只想要uwsgi,那麼'--static-map/static =/var/www/static'就是你的選擇。詳情在這裏:http://uwsgi-docs.readthedocs.io/en/latest/StaticFiles.html – abcdn

+0

它的工作!謝謝 :) –