Django管理静态文件404
我正在使用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,和它收集了一切,但仍然没有工作。
我试图通过阅读本网站上的其他文章解决这个问题,但没有任何真正为我工作。
希望,有人会终于帮助。
这是Django的设计。从the docs的报价静态文件发展观:
如果DEBUG是True此观点只会工作。
这是因为这种观点是严重低效和可能不安全。这只适用于本地开发,不应该用于生产。
如果您正在设置DEBUG=False
您可能要生产。如果是这样,你的静态文件必须由web服务器(例如Nginx,Apache等)提供服务。
我只是用http参数使用uwsgi。在我的vps上,我安装了nginx。 –
如果你只想要uwsgi,那么'--static-map/static =/var/www/static'就是你的选择。详情在这里:http://uwsgi-docs.readthedocs.io/en/latest/StaticFiles.html – abcdn
它的工作!谢谢 :) –
使用调试关闭Django将不能处理静态文件你了 - 你的生产Web服务器(Apache或东西)应采取关心这一点。参考:http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail –
可能重复的[为什么DEBUG = False设置让我的django静态文件访问失败?](http://stackoverflow.com/questions/5836674/why-does-debug-false-setting-make-my-django-static-files-access-fail) –
是的,我注意到。但是即使当我使用uwsgi时,这也不起作用。我编辑了我的问题并添加了uwsgi.ini文件。 –