2016-04-14 5 views
1

をチェックするためにどのように私は次のことをチェックする場合... else条件を作成します。条件は、URLのクエリに

if the URL ends with this /default/add?a=1&b=1 
    compute something 
else the URL ending with this /default/add/1/1 
    compute this 

だから、これまで私の機能は、次のようになります。私は最初の状態を計算することができますが、私はそれが正しいとは思わない。

def add(): 
if URL(scheme=True,args=[add]): 
    a1 = int(request.vars.a) 
    b1 = int(request.vars.b) 
    return a1+b1 
else: 
    a2 = int(request.args[0]) 
    b2 = int(request.args[1]) 
    return a2+b2 

私は/デフォルトに対してそれをテストしようとすると//1月1日を追加し、私は次のエラーを取得する:/default/add?a=1&b=1使用する

a1 = int(request.vars.a) 
TypeError: int() argument must be a string or a number, not 'NoneType' 

答えて

2

a1 = int(request.vars['a']) 
b1 = int(request.vars['b']) 

/default/add/1/1のため使用:

0

リクエスト.varsは辞書なので、構文は、おそらく次のようになります。

a1 = int(request.vars['a']) 

編集:それに私を打つuser1434070 - デュープ

0

URL(scheme=True,args=[add])を気の毒URLを生成します - それはのURLをチェックしません。現在の要求。代わりに、あなたは欲しい:

if 'a' in request.vars and 'b' in request.vars: