この質問のようなもの:
...WSGI を除く。「値なし」のクエリ パラメータと存在しないクエリ パラメータを区別するにはどうすればよいですか。
このドキュメントによると、このコード:
value = self.request.get('n')
..クエリ パラメータが存在しない場合は空の文字列を返します。クエリ パラメータが存在するが値がない場合、クエリ文字列が ? の場合、何が返されます?n
か?
これをテストしようとしていますが、正直なところ、GAE に問題があります。
この質問のようなもの:
...WSGI を除く。「値なし」のクエリ パラメータと存在しないクエリ パラメータを区別するにはどうすればよいですか。
このドキュメントによると、このコード:
value = self.request.get('n')
..クエリ パラメータが存在しない場合は空の文字列を返します。クエリ パラメータが存在するが値がない場合、クエリ文字列が ? の場合、何が返されます?n
か?
これをテストしようとしていますが、正直なところ、GAE に問題があります。
リンクしたドキュメントで指定されているとおり:
get(引数名, デフォルト値='')
default_value
パラメータを指定します。
self.request.get('n', None)
None
パラメータが存在しない場合に返されますn
(例: ?foo=bar
)。パラメータが存在するが値を指定していない場合は、空の文字列が返されます (例: ?n=&foo=bar
)。
インターフェイスを使用しないことをお勧めしself.request.get
ます。これはオブジェクトの薄いラッパーrequest
であり、現時点ではほとんどが webapp1 アプリとの互換性のために存在します。代わりに、self.request.GET
クエリ パラメータとself.request.POST
リクエスト ボディ パラメータに使用します。これらは両方とも辞書として機能するため、キーが存在しない場合は呼び出しが返されますが、キーが存在しない場合は、それらをインデックス化するself.request.GET['foo']
と aが発生します。KeyError
self.request.GET.get('foo', default)
default