Django 将Debug=False后无法准确访问静态资源的解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Register_man/article/details/79496895

问题描述

在Debug模式下可以正常访问时,切换为False后,页面就无法请求到静态资源了,需要以下几步处理方式:

1. 设置允许访问的域名

2. 添加url映射至静态文件路径

3. 设置异常处理页面

环境:Django 2.2 


一、设置setting.py

# 或是你的域名,或localhost
ALLOWED_HOSTS = ['*'] 
   ...
   ...
# 设置静态资源路径
STATIC_URL = '/static/'
STATIC_ROOT = 'static'


二、设置urls.py

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

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', view.index),
       ........
    # 增加以下一行,以识别静态资源
    url(r'^static/(?P<path>.*)$', static.serve,
        {'document_root': settings.STATIC_ROOT}, name='static')
]
# 配置异常页面
handler403 = view.page_permission_denied
handler404 = view.page_not_found
handler500 = view.page_inter_error

三、设置view.py

def page_not_found(request):
    from django.shortcuts import render
    return render(request, '404.html')
...
...


猜你喜欢

转载自blog.csdn.net/Register_man/article/details/79496895