1

url パラメータが設定されていない場合、デフォルト値を割り当てたい。このようなもの:

try: 
    limit = self.request.get('limit')
except NameError:
    limit = 10

もちろん、それはうまくいきませんでした。それが私が尋ねている理由です。このコードでは、デフォルト (10) は割り当てられていません。

4

2 に答える 2

3

Dictionary.get メソッドのヘルプには次のように書かれています。d のデフォルトはなしです。

次に、解決策は次のとおりです。

try:
    limit_default_value = 10
    limit = int(self.request.get('limit', limit_default_value))
except ValueError: #catch a string that does not like decimal
    limit = limit_default_value
于 2012-02-07T00:14:16.913 に答える
2

他の代替手段は次のとおりです。

limit = self.request.get('limit') or 10

or 演算子は左の式を評価し、True の場合はそれを返します。それ以外の場合は、右の式を評価し、True または False の場合に返します。この場合、10 が True であることがわかっているため、パラメーターが渡されない場合、self.request.get('limit') == False なので (False または 10) は 10 を返します。

于 2012-02-07T08:11:41.533 に答える