2017-02-25 164 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

它的工作!谢谢 :) –