2016-12-14 2 views
0

Flask를 사용하여 localhost/data /? user = [123,234,345]를 전달할 수있는 방식으로 사용하려고합니다. 신체. 내가 잘못 뭐하는 거지Flask를 사용하여 int의 목록을 가져 와서 해당 값을 끝점으로 반환합니다.

import redis 
r = redis.StrictRedis(host='localhost', port=6379, db=0) 
@app.route('/data', methods=['GET','POST']) 
def data(): 
    user = request.args.getList('user', type=int) 
    users = [] 

    for u in user: 
     try: 
      users.append(redisfunction(u)) 
     except: 
      continue 

    return users 

:

이 내가 해봤 무엇인가?

답변

2
  1. request.args.getList 는 L의 소문자 request.args.getlist해야하거나 오류 코드 500, 이유는 내가 지금
  2. 당신이 localhost/data?user=123&user=234&user=345 여기

내 simpe 코드입니다 방문해야 찾을거야 발생합니다 : 다음

from flask import Flask, request 

app = Flask(__name__) 

@app.route('/data', methods=['GET', 'POST']) 
def data(): 
    user = request.args.getlist('user', type=int) 
    print user 
    return 'done' 

app.run() 

curl 'localhost:5000/data?user=123&user=234&user=345'

,691,363,210

플라스크 출력 :

[123, 234, 345]

127.0.0.1 - - [14/DEC/2,016 9시 23분 48초] "GET/사용자 데이터 = 123 = & 유저 234 & 사용자 = 345 HTTP/

+0

args는 getlist 함수 만있는 MultiDict 개체입니다. http://werkzeug.pocoo.org/docs/0.11/datastructures/#werkzeug.datastructures.MultiDict – LeonF

+0

@LeonF 예, getlist 기능 만 있습니다. 그러나 getList를 사용하면 예외가 발생하지 않습니다. Flask의 내부는 아마도이 메소드를 찾을 수 없을 때 500 개의 에러 코드를 던져 버리는 것 같습니다. –

+0

@KaiWen '완료'만 반환하는 것으로 보이지만 목록을 반환하고 싶습니다. 반환 사용자를 시도했지만 오류가 발생했습니다. 'TypeError :'목록 '개체를 호출 할 수 없습니다.' –