Django管理静态文件404

时间:2017-02-25 15:14:05

标签: python django file static

我使用的是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,它收集了所有内容,但仍无效。

我试着通过阅读本网站上的其他文章来解决这个问题,但没有什么对我有用。

希望,有人会在最后的帮助下。

2 个答案:

答案 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