关于django(django-vue-admin)设置Debug为false后,导致线上静态资源目录media返回404问题解决。

当Django的debug设置为False时,静态资源如图片无法正常访问导致404。解决方法是在urls.py中引入static_serve,添加re_path路由来处理media文件,设置document_root为MEDIA_ROOT(如:MEDIA_ROOT=media)。这样在非调试模式下,Django也能正确服务静态媒体文件。

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

当把django的debug设置为False后,会引发media下的图片等静态资源文件,直接访问会返回404的解决办法:

在application\urls下面修改:

# 1. 引入这个
from django.views.static import serve as static_serve 
urlpatterns = (
        [
            re_path(
                r"^swagger(?P<format>\.json|\.yaml)$",
                schema_view.without_ui(cache_timeout=0),
                name="schema-json",
            ),
            # 2.添加 这个re_path路由。
            re_path(r'^media/(?P<path>.*)$', static_serve, {'document_root' : settings.MEDIA_ROOT}),
            # ... 其他
            path("api/system/", include("dvadmin.system.urls")),
            ...

settings.MEDIA_ROOT 的指,我这里是: MEDIA_ROOT = “media” # 项目下的目录

原理:原因是因为关闭DEBUG模式后,Django 便不提供静态文件服务了。需要我们手动去设置。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值