无法为 django url 匹配正则表达式(之前在 stackowerflow 上描述的方法不起作用)
Can't match regex for django url (methods described earlier on stackowerflow don't work)
无法匹配 Django 的正则表达式 url
您需要处理来自前端的传入请求
"GET /api/city_list/9/?q=test HTTP/1.0" 404 Not Found
"GET /api/city_list/9/?q=tt HTTP/1.0" 404 Not Found
我尝试了几种选择
path('api/city_list/<int:id>/?q=<str:q>', api_city_list, name='api_city_list'),
无效
re_path(r'^api/city_list/\d+/\?|&q=\w', api_city_list, name='api_city_list'),
无效
re_path(r'^api/city_list/<int:id>/(?P<q>\D+)', api_city_list, name='api_city_list'),
无效
views.py 没有到达调试器。
url 检查失败
朋友们,告诉我怎么做吧,不然我已经被Django的正则表达式弄糊涂了
(Django 3.1)
您不必在 url 路径中添加匹配的查询字符串,因此您可以将 url 更改为:
path('api/city_list/<int:id>/', api_city_list, name='api_city_list'),
那么在你看来,如果要访问查询参数,可以使用request.GET
.
def api_city_list(request, id):
q = request.GET.get('q')
...
此 url 中的所有查询参数将自动传递给 request.GET
,因此无需匹配您的 url 配置中的参数。
无法匹配 Django 的正则表达式 url 您需要处理来自前端的传入请求
"GET /api/city_list/9/?q=test HTTP/1.0" 404 Not Found
"GET /api/city_list/9/?q=tt HTTP/1.0" 404 Not Found
我尝试了几种选择
path('api/city_list/<int:id>/?q=<str:q>', api_city_list, name='api_city_list'),
无效
re_path(r'^api/city_list/\d+/\?|&q=\w', api_city_list, name='api_city_list'),
无效
re_path(r'^api/city_list/<int:id>/(?P<q>\D+)', api_city_list, name='api_city_list'),
无效
views.py 没有到达调试器。
url 检查失败
朋友们,告诉我怎么做吧,不然我已经被Django的正则表达式弄糊涂了
(Django 3.1)
您不必在 url 路径中添加匹配的查询字符串,因此您可以将 url 更改为:
path('api/city_list/<int:id>/', api_city_list, name='api_city_list'),
那么在你看来,如果要访问查询参数,可以使用request.GET
.
def api_city_list(request, id):
q = request.GET.get('q')
...
此 url 中的所有查询参数将自动传递给 request.GET
,因此无需匹配您的 url 配置中的参数。