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

Python新手咨询Django URL路由'[ was not closed'错误原因

Django URL路由语法错误原因及解决

你的代码报错核心是把path函数调用写成了赋值语句,违反了Python列表的语法规则。

Python的列表[]内部只能存放合法的表达式(比如函数调用、变量、字符串这类字面量),而path=("",views.index)是赋值操作,属于语句,不能直接放在列表里。解释器遇到这种非法语法时,无法正确解析列表的结构,就会抛出“[ was not closed”的错误——本质是语法错误导致解析失败,并非真的没写闭合的]。

正确的写法是直接调用path函数,把函数返回值放进列表:

from django.urls import path
from . import views

urlpatterns = [
    path("", views.index),
    path("/index", views.index)    
]

你说赋值给变量后能正常运行,是因为此时列表里放的是变量(属于合法表达式),比如:

from django.urls import path
from . import views

index_route = path("", views.index)
another_index_route = path("/index", views.index)
urlpatterns = [index_route, another_index_route]

这种写法语法合规,所以能正常执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 20:54:56