30

URLから渡された値を次のように取得しています:

user_data = {}
if (request.args.get('title')) :
    user_data['title'] =request.args.get('title')
if(request.args.get('limit')) :
    user_data['limit'] =    request.args.get('limit')

次に、それを次のように使用します

if 'limit' in user_data :
    limit = user_data['limit']
conditions['id'] = {'id':1}
int(limit)
print type(limit)
data = db.entry.find(conditions).limit(limit)

それは印刷します:<type 'unicode'>

しかし、私typelimitasを取得し続けunicode、クエリからエラーを発生させます!! Unicode を int に変換していますが、なぜ変換されないのですか?? 助けてください!!!

4

2 に答える 2

54

int(limit)整数に変換された値を返し、関数を呼び出すときにその場で変更しません (これは期待されていることです)。

代わりにこれを行います:

limit = int(limit)

または定義するときlimit

if 'limit' in user_data :
    limit = int(user_data['limit'])
于 2013-05-10T06:34:30.070 に答える