无法匹配django url的regex,您需要处理来自前端的传入请求
"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)
发布于 2021-08-16 00:53:53
您不必在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配置中的参数匹配。
https://stackoverflow.com/questions/68796345
复制相似问题