問題概覽:
一開始需求是想通過URL接收參數,但是一直固守通過正則表達式的方式接收參數,即形如(?P<parm>.+)的方式。
后面發現(/?)在http://regex101.com是可以匹配通過,並成功獲取到參數的,但是,在Django中符號“?”是保留字段,這種方式告吹。
參考URL:
https://stackoverflow.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
最后,嘻嘻!
