Django接收URL问号参数

时间:2021-08-26 20:07:36

问题概览:

一开始需求是想通过URL接收参数,但是一直固守通过正则表达式的方式接收参数,即形如(?P<parm>.+)的方式。

后面发现(/?)http://regex101.com是可以匹配通过,并成功获取到参数的,但是,在Django中符号“?”是保留字段,这种方式告吹。

参考URL:

https://*.com/questions/4162625/django-request-get-parameters

解决方法:

【1】

爬文章发现 request.GET[‘keyname'] 或者 request.GET.get('keyname', default_value) 可以直接获取URL中的参数

而不需要通过urls的正则表达式去匹配。

【2】

当然,通过try,except的方式也可以解决。

from django.utils.datastructures import MultiValueDictKeyError

try:
key_you_want = request.GET['keyname']
except MultiValueDictKeyError:
key_you_want = None

最后,嘻嘻!