Django项目urls.py文件出现Invalid Syntax语法错误求助
解决Django urls.py中的SyntaxError问题
你遇到的这个语法错误其实非常容易修复——问题出在re_path的正则表达式字符串前缀上:
错误原因
你写了re'^details/(?P<id>\d+)/$',这里的re是错误的前缀。在Python中,正则表达式字符串需要用原始字符串前缀r(用来避免转义字符被解析),而re是你导入的正则表达式模块的名称,不能用来作为字符串的前缀,这就直接导致了语法错误。
修正后的代码
把错误的re前缀换成r即可:
from django.contrib import admin from django.urls import path, re_path, include from . import views urlpatterns = [ re_path(r'^details/(?P<id>\d+)/$', views.details), path('', views.index) ]
额外小建议
在Django 2.0及以上版本,更推荐使用path配合内置转换器来替代re_path,写法更简洁直观,不需要手写正则表达式:
path('details/<int:id>/', views.details),
这样实现的功能和你原来的正则规则完全一致,而且代码可读性更强。
内容的提问来源于stack exchange,提问作者BangBang
相关产品推荐
相关产品推荐

