Django项目中VS Code的Pylance插件对path函数标红是什么原因?
Django path函数Pylance标红报错原因
直接触发语法报错的原因
urlpatterns是Python列表类型,列表内多个元素之间必须用英文逗号,分隔。你提供的代码中前3个path调用语句末尾都没有添加逗号,Python语法解析失败,因此Pylance对第二个path语句标记红线报错。
额外存在的代码逻辑问题(非本次标红直接原因,但会导致运行异常)
- 根路径参数错误:Django的
path函数的根路径不需要写前缀斜杠,正确写法为""而非"/",否则会导致根路由匹配失败。 - 路由重复冲突:第四行
path的路径错误填写为"about",和第二行路径完全重复,会导致contact视图无法被正常访问,需要修正为"contact"。 - 路径规范问题:Django默认开启
APPEND_SLASH配置,路由路径末尾统一加斜杠(如"about/")更符合官方开发规范,也能避免重定向带来的性能损耗。
修正后可正常运行的代码
from django.contrib import admin from django.urls import path from home import views urlpatterns = [ path("", views.home, name='home'), path("about/", views.about, name='about'), path("services/", views.services, name='services'), path("contact/", views.contact, name='contact') ]
内容的提问来源于stack exchange,提问作者Rowny Robert
相关产品推荐
相关产品推荐

