You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django 2.x迁移至3.x时view必须为可调用对象的错误修复

Django 2.x 迁移至3.x:media URL配置错误修复

问题原因

Django 3.x 不再支持通过字符串路径(如'django.views.static.serve')指定视图函数,要求视图必须是可调用对象,这就是触发TypeError: view must be a callable or a list/tuple in the case of include()错误的原因。

修复步骤

  1. 导入视图函数
    在你的urls文件顶部,添加导入语句:
from django.views.static import serve
  1. 修改URL配置
    把原来的字符串视图路径替换为导入的serve函数:
urlpatterns += [
    url(r'^media/(?P<path>.*)$', serve, {
        'document_root': settings.MEDIA_ROOT,
    }),
]

可选:使用Django 3.x推荐的写法

url是re_path的别名,你也可以用更明确的re_path写法(效果完全一致):

from django.urls import re_path
from django.views.static import serve

urlpatterns += [
    re_path(r'^media/(?P<path>.*)$', serve, {
        'document_root': settings.MEDIA_ROOT,
    }),
]

内容的提问来源于stack exchange,提问作者manafak

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 15:46:03