この質問のようなもの:
...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が発生します。KeyErrorself.request.GET.get('foo', default)default