专业编程基础技术教程

网站首页 > 基础教程 正文

解决TypeError: 'set' object is not reversible报错

ccvgpt 2024-07-26 00:28:43 基础教程 7 ℃

使用 redirect()重定向时报错TypeError: 'set' object is not reversible,原代码为:

@csrf_exempt
def mystudy(request):
    return redirect("/son")

报错如下:

解决TypeError: 'set' object is not reversible报错


报错分析:

可以先做个初步分析,没有报错404,证明urls.py中的path路径配置的是没有问题的。

其次针对报错类型分析,说是set是不可逆的,分析urls.py中的urlpatterns,当前定义为字典,字典是无序的,所以报错了,改成列表形式的就行。

也就是说把urls.py中的urlpatterns = {}改成urlpatterns = []即可解决问题。

(不过好像Django项目自动生成的urlpatterns就是字典类型的,反正我之前没有改过这个字段)


注意:使用redirect()时,一定要记得将重定向的地址,加入到urls.py中的urlpatterns中,确保直接访问该地址是通的,重定向才能定向过去

Tags:

最近发表
标签列表