【问题标题】:Django admin static files 404Django 管理静态文件 404
【发布时间】:2017-02-25 15:14:05
【问题描述】:

我使用的是 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,它收集了所有内容但仍然无法正常工作。

我试图通过阅读本网站上的其他文章来解决这个问题,但对我来说没有任何效果。

希望有人最终会提供帮助。

【问题讨论】:

标签: python django file static


【解决方案1】:

这是 Django 的设计。来自the docs 的引用静态文件开发视图

此视图仅在 DEBUG 为 True 时才有效。

这是因为这种观点效率极低,而且可能不安全。这仅用于本地开发,绝不能用于生产环境。

如果您设置DEBUG=False,您可能会将其投入生产。如果是这样,您的静态文件必须由网络服务器(例如 Nginx、Apache 等)提供服务。

【讨论】:

【解决方案2】:

检查 whitenoice 库, 它非常适合开发和生产环境 Radically simplified static file serving for Python web apps

【讨论】:

    猜你喜欢
    • 2012-02-03
    • 1970-01-01
    • 2012-09-30
    • 2020-10-17
    • 1970-01-01
    • 2015-08-16
    • 1970-01-01
    • 2014-06-07
    • 1970-01-01
    相关资源
    最近更新 更多