Yaygın görünen bir soruna sahip olmakla birlikte, araştırmamı yaptım ve her yerde tam olarak yeniden oluşturulmadığını görmüyorum. json.loads(rety.text)
'u yazdırdığımda, ihtiyacım olan çıktıyı görüyorum. Yine de iadeyi aradığımda, bana bu hatayı gösteriyor. Herhangi bir fikir? Yardım büyük beğeni ve teşekkür ederim. Flask MethodHandler
kullanıyorum.Python Flask, TypeError: 'dict' nesnesi callable değil
class MHandler(MethodView):
def get(self):
handle = ''
tweetnum = 100
consumer_token = ''
consumer_secret = ''
access_token = '-'
access_secret = ''
auth = tweepy.OAuthHandler(consumer_token,consumer_secret)
auth.set_access_token(access_token,access_secret)
api = tweepy.API(auth)
statuses = api.user_timeline(screen_name=handle,
count= tweetnum,
include_rts=False)
pi_content_items_array = map(convert_status_to_pi_content_item, statuses)
pi_content_items = { 'contentItems' : pi_content_items_array }
saveFile = open("static/public/text/en.txt",'a')
for s in pi_content_items_array:
stat = s['content'].encode('utf-8')
print stat
trat = ''.join(i for i in stat if ord(i)<128)
print trat
saveFile.write(trat.encode('utf-8')+'\n'+'\n')
try:
contentFile = open("static/public/text/en.txt", "r")
fr = contentFile.read()
except Exception as e:
print "ERROR: couldn't read text file: %s" % e
finally:
contentFile.close()
return lookup.get_template("newin.html").render(content=fr)
def post(self):
try:
contentFile = open("static/public/text/en.txt", "r")
fd = contentFile.read()
except Exception as e:
print "ERROR: couldn't read text file: %s" % e
finally:
contentFile.close()
rety = requests.post('https://gateway.watsonplatform.net/personality-insights/api/v2/profile',
auth=('---', ''),
headers = {"content-type": "text/plain"},
data=fd
)
print json.loads(rety.text)
return json.loads(rety.text)
user_view = MHandler.as_view('user_api')
app.add_url_rule('/results2', view_func=user_view, methods=['GET',])
app.add_url_rule('/results2', view_func=user_view, methods=['POST',])
İşte traceback olan (yukarıda yazdırıyorsanız aklın sonuçlarında tutun):
Traceback (most recent call last):
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1478, in full_dispatch_request
response = self.make_response(rv)
File "/Users/RZB/anaconda/lib/python2.7/site-packages/flask/app.py", line 1577, in make_response
rv = self.response_class.force_type(rv, request.environ)
File "/Users/RZB/anaconda/lib/python2.7/site-packages/werkzeug/wrappers.py", line 841, in force_type
response = BaseResponse(*_run_wsgi_app(response, environ))
File "/Users/RZB/anaconda/lib/python2.7/site-packages/werkzeug/test.py", line 867, in run_wsgi_app
app_rv = app(environ, start_response)
Teşekkür ederim Davidism, bu hatayı hafifletiyor gibi görünüyor. Ancak, şimdi, orijinal soruyla ilgisiz olabileceğinin farkına vardığım yeni bir hata alıyorum. Burada herhangi bir fikir var mı? {u'code ': 400, u'error': u'Bir satır 1'de geçersiz JSON girişi '} 127.0.0.1 - - [02/Dec/2015 23:39:34] "POST/results2 HTTP/1.1 "200 - – puhtiprince
@puhtiprince, yaptığınız istek üzerine json, doğru yapmadığınızı söylüyor. 'Data = 'yerine' json =' yazmasını sağlamanız gerekiyor. – davidism