xldxld
142
2017-03-20 18:27:02.0
3
168

TypeError: 'dict' object is not callable 질문좀..


안녕하세요 궁금한것이 있어 질문드립니다..

제가 현재 롤 api를 이용해서 먼저 자기 닉네임을 치면 정보가 나오는 코드를 짜고있는데요 

밑에 처럼 코딩을 했는데 하고나서 실행시켜보면

TypeError: 'dict' object is not callable 요런 에러가 뜹니다.. 이리저리검색을 해봐도 잘모르겠어서

질문드립니다 어떻게 해야하는건가요..ㅠㅠ

from flask import Flask
app = Flask(__name__)

@app.route("/<summoner_name>")
def getuserinfo(summoner_name):
a = summoner_name
key = {"api_key": 내appi키}

response = requests.get("https://kr.api.pvp.net/api/lol/kr/v1.4/summoner/by-name/%s" % a, params=key)
response.status_code
response.text

res = requests.get("https://kr.api.pvp.net/api/lol/kr/v1.4/summoner/by-name/%s" % a, params=key)

search = res.json() # 제이슨으로 파싱


return search



if __name__ == "__main__":
app.debug = True
app.run(
host="0.0.0.0",
port=8080
#debug=True
)
0
0
  • 답변 3

  • 이민철
    402
    2017-03-21 05:05:14.0

    json을 return 하고 싶을때는 jsonify함수를 사용하세요.



    # -*- coding: utf-8 -*-
    
    from flask import Flask, Response, jsonify
    import requests
    
    
    app = Flask(__name__)
    api_key = {"api_key": '내appi키'}
    
    @app.route("/<summoner_name>")
    def getuserinfo(summoner_name):
    
        req = requests.get("https://kr.api.pvp.net/api/lol/kr/v1.4/summoner/by-name/%s" % summoner_name, params= api_key)
        
        if req.status_code == 200:
            return jsonify(req.json())
        
        else:   # 비정상적인 response을 받았을때
            return Response(req.text, req.status_code)
    
    
    if __name__ == "__main__":
        app.debug = True
        app.run(
            host="0.0.0.0",
            port=8080
            #debug=True
        )


    0
  • xldxld
    142
    2017-03-21 15:30:20.0 작성 2017-03-21 15:36:43.0 수정됨

    이민철 님 궁금한게 한가지 있어 질문적습니다..제 json파일을 보면 한글도 있는데 이 한글처리는 어떻게 해야하나요? json.dumps는 한글처리를 할수는 있지만 모양이 jsonify처럼 이쁘게 안나오고 그냥 한줄로 쭉- 나오네요.. 왜그런지 잘 모르겠네요..ㅠㅠ

    0
  • 이민철
    402
    2017-03-21 16:24:29.0

    data sample을 주세요~

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.