Google app engine 在WSGI中,如何区分空白和缺少的查询参数?

Google app engine 在WSGI中,如何区分空白和缺少的查询参数?,google-app-engine,wsgi,Google App Engine,Wsgi,类似这样的问题: …除了WSGI。如何区分“无值”查询参数和不存在的查询参数 根据该准则: value = self.request.get('n') ..当查询参数不存在时返回空字符串。 如果查询参数存在但没有值,它将返回什么 我正在尝试测试这个,但老实说,我和GAE有麻烦 如中所述: 获取(参数名称,默认值=“”) 指定默认值参数: self.request.get('n', None) 如果参数n不存在(例如?foo=bar),将返回None。如果参数存在但未指定值,则会得到一个空字

类似这样的问题:

…除了WSGI。如何区分“无值”查询参数和不存在的查询参数

根据该准则:

value = self.request.get('n')
..当查询参数不存在时返回空字符串。 如果查询参数存在但没有值,它将返回什么

我正在尝试测试这个,但老实说,我和GAE有麻烦

如中所述:

获取(参数名称,默认值=“”)

指定
默认值
参数:

self.request.get('n', None)
如果参数
n
不存在(例如
?foo=bar
),将返回
None
。如果参数存在但未指定值,则会得到一个空字符串(例如,
?n=&foo=bar
)。

如中所述:

获取(参数名称,默认值=“”)

指定
默认值
参数:

self.request.get('n', None)

如果参数
n
不存在(例如
?foo=bar
),将返回
None
。如果参数存在但未指定值,则会得到一个空字符串(例如
?n=&foo=bar
)。

我建议不要使用
self.request.get
接口。它是一个围绕
请求
对象的薄包装器,目前主要是为了与webapp1应用程序兼容。相反,查询参数使用
self.request.GET
,请求正文参数使用
self.request.POST
。它们都充当字典,因此在调用
self.request.GET.GET('foo',默认值)时,如果键不存在,那么像
self.request.GET['foo']
那样对它们进行索引将引发
KeyError
如果密钥不存在,
将返回
默认值

我建议不要使用
self.request.get
界面。它是一个围绕
请求
对象的薄包装器,目前主要是为了与webapp1应用程序兼容。相反,查询参数使用
self.request.GET
,请求正文参数使用
self.request.POST
。这两个函数都充当字典,因此索引它们就像
self.request.GET['foo']
会在键不存在时引发
KeyError
,而调用
self.request.GET.GET('foo',default)
会在键不存在时返回
default

谢谢。似乎默认行为是愚蠢的。使用默认值,无法区分存在且设置为nothing的查询字符串参数和根本不存在的查询字符串参数。我想应该总是使用
None
默认值。谢谢。似乎默认行为是愚蠢的。使用默认值,无法区分存在且设置为nothing的查询字符串参数和根本不存在的查询字符串参数。我想应该总是使用
None
默认值。