像这个问题:
Distinguish between null and missing parameters in ASP.NET MVC4
......除了WSGI。如何区分“无值”查询参数和不存在的查询参数。
根据this documentation,此代码:
value = self.request.get('n')
..当查询参数不存在时返回空字符串。
如果查询参数存在但没有值,它会返回什么,例如查询字符串为?n
?
我正在尝试测试这个,但老实说,我遇到了GAE问题。
答案 0 :(得分:2)
如that doc you linked中所述:
get(argument_name,default_value ='')
指定default_value
参数:
self.request.get('n', None)
如果参数None
不存在,将返回n
(例如?foo=bar
)。如果参数存在但未指定值,则会得到一个空字符串(例如?n=&foo=bar
)。
答案 1 :(得分:1)
我建议不要使用self.request.get
界面。它是request
对象周围的薄包装器,此时主要用于与webapp1应用程序兼容。相反,对查询参数使用self.request.GET
,对请求正文参数使用self.request.POST
。这些都充当字典,因此如果密钥不存在,将self.request.GET['foo']
编入索引会引发KeyError
,而如果密钥不存在,则调用self.request.GET.get('foo', default)
将返回default