问题概览:
一开始需求是想通过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
最后,嘻嘻!