url パラメータが設定されていない場合、デフォルト値を割り当てたい。このようなもの:
try:
limit = self.request.get('limit')
except NameError:
limit = 10
もちろん、それはうまくいきませんでした。それが私が尋ねている理由です。このコードでは、デフォルト (10) は割り当てられていません。
url パラメータが設定されていない場合、デフォルト値を割り当てたい。このようなもの:
try:
limit = self.request.get('limit')
except NameError:
limit = 10
もちろん、それはうまくいきませんでした。それが私が尋ねている理由です。このコードでは、デフォルト (10) は割り当てられていません。
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
他の代替手段は次のとおりです。
limit = self.request.get('limit') or 10
or 演算子は左の式を評価し、True の場合はそれを返します。それ以外の場合は、右の式を評価し、True または False の場合に返します。この場合、10 が True であることがわかっているため、パラメーターが渡されない場合、self.request.get('limit') == False なので (False または 10) は 10 を返します。