我使用的是Django版本1.10。项目在Debug = True上工作正常,但是当我将其设置为False时则不行。 Django无法找到静态文件。
我的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
我也使用了python manage.py collectstatic,它收集了所有内容,但仍无效。
我试着通过阅读本网站上的其他文章来解决这个问题,但没有什么对我有用。
希望,有人会在最后的帮助下。
答案 0 :(得分:3)
这是Django desing。来自the docs的静态文件开发视图的引用:
此视图仅在DEBUG为True时有效。
这是因为这种观点非常低效,可能不安全。这仅适用于本地开发,不应在生产中使用。
如果您正在设置DEBUG=False
,那么您可能会将其制作完成。如果是这样,您的静态文件必须由Web服务器提供(例如Nginx,Apache等)。
答案 1 :(得分:0)
检查whitenoice库, 它非常适合开发和生产环境 Radically simplified static file serving for Python web apps