0

この質問のようなもの:

ASP.NET MVC4 で null パラメーターと欠落パラメーターを区別する

...WSGI を除く。「値なし」のクエリ パラメータと存在しないクエリ パラメータを区別するにはどうすればよいですか。

このドキュメントによると、このコード:

value = self.request.get('n')

..クエリ パラメータが存在しない場合は空の文字列を返します。クエリ パラメータが存在するが値がない場合、クエリ文字列が ? の場合、何が返されます?nか?

これをテストしようとしていますが、正直なところ、GAE に問題があります。

4

2 に答える 2

2

リンクしたドキュメントで指定されているとおり:

get(引数名, デフォルト値='')

default_valueパラメータを指定します。

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

Noneパラメータが存在しない場合に返されますn(例: ?foo=bar)。パラメータが存在するが値を指定していない場合は、空の文字列が返されます (例: ?n=&foo=bar)。

于 2012-07-14T04:42:39.037 に答える
1

インターフェイスを使用しないことをお勧めしself.request.getます。これはオブジェクトの薄いラッパーrequestであり、現時点ではほとんどが webapp1 アプリとの互換性のために存在します。代わりに、self.request.GETクエリ パラメータとself.request.POSTリクエスト ボディ パラメータに使用します。これらは両方とも辞書として機能するため、キーが存在しない場合は呼び出しが返されますが、キーが存在しない場合は、それらをインデックス化するself.request.GET['foo']と aが発生します。KeyErrorself.request.GET.get('foo', default)default

于 2012-07-16T05:06:47.653 に答える