我的CSS没有加载,然后我将DEBUG更改为True,并且它起作用了。
我的问题是,如果我有一个实际的服务器并且DEBUG = False,则CSS不会加载。
DEBUG设置与静态文件有什么关系?无论DEBUG是True还是False,它都应该加载静态文件。
答案 0 :(得分:2)
在调试模式下,Django将为您提供所有服务,因此您不必费心诸如Apache / Nginx之类的任何事情。
在生产模式下,使用Python提供静态内容会浪费资源,并且Django假定您将设置一个Web服务器来提供静态内容。参见:
尤其是
答案 1 :(得分:2)
您可以使用(docs)在DEBUG=False
中提供静态变量(在Production Server中不推荐使用):
python manage.py runserver --insecure
此外,您可以使用whitenoise投放静态内容。为此,您需要通过pip install whitenoise
安装它,然后在您的设置中添加一个新的中间件,如下所示:
MIDDLEWARE = [
# 'django.middleware.security.SecurityMiddleware',
'whitenoise.middleware.WhiteNoiseMiddleware',
# ...
]
使用白噪声是安全的,并且提供了许多标准的静态文件服务(如果您不想使用反向代理服务器)