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

本文档详细介绍了当Django应用将Debug设置为False后,遇到无法访问静态资源的问题及其解决方案。主要涉及在setting.py、urls.py和view.py中的配置调整,包括设置访问域名、静态文件URL映射及异常处理页面设置,适用于Django 2.2环境。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

在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')
...
...


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值