环境:Python3.6.8 Django2.2

问题原因:当我们在开发django应用时如果设置了 DEBUG = True,那么django便会自动帮我们对静态文件进行路由;但是当我们设置DEBUG = False后,这一功能便没有了,此时静态文件就会出现加载失败的情况,想要让静态文件正常显示,我们就需要配置静态文件服务了。

1. 首先修改 settings.py 文件

STATIC_URL = '/static/'
STATIC_ROOT = 'static'
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, '/static/'),
]

2. 修改 urls.py

from django.views import static
from django.conf import settings
from django.conf.urls import url

urlpatterns = [
    ## 新增
    url(r'^static/(?P<path>.*)$', static.serve,
      {'document_root': settings.STATIC_ROOT}, name='static'),
]

如果报错:

ERRORS: ?: (staticfiles.E002) The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting.

检查 os.path.join(BASE_DIR, '/static/'), #多加了/

分类: DjangoPython

发表评论

电子邮件地址不会被公开。 必填项已用*标注