#python #flask
Вопрос:
Я пытаюсь использовать флэш-приложение, ниже приведен мой код, который я следую из учебника
from flask import Flask, request
import requests
from twilio.twiml.messaging_response import MessagingResponse
app = (__name__)
@app.route('/mybot',methods=['POST'])
def mybot():
incoming_message = request.values.get('Body','').lower()
resp = MessagingResponse()
msg = resp.message()
responded = False
if 'hi' in incoming_message:
msg.body('Hello, iam luja')
responded = True
if 'quotes' in incoming_message:
r = request.get('https://api.quotable.io/random')
if r.status_code == 200:
data = r.json()
quote = f'{data["content"]}({data["author"]})'
else:
quote = 'not able to retrieve'
msg.body(quote)
responded = True
if 'who are you' in incoming_message:
msg.body('Hi i am Bot')
responded = True
if not responded:
msg.body('not able to return the msg')
return str(resp)
if __name__ == '__main__':
app.run()
Я установил все необходимые зависимости. Однако, когда я запускаю код, я получаю вышеуказанную ошибку, как я могу устранить эту ошибку?
Ответ №1:
Тебе нужно измениться:
app = (__name__)
Для:
app = Flask(__name__)
В противном случае приложению присваивается __name__
значение a str
, и, как указано в сообщении об ошибке, у него нет route
атрибута. В последнем случае приложению присваивается экземпляр Flask()
, у которого есть требуемый route
атрибут.
Комментарии:
1. Я изложил это дальше. Дайте мне знать, если это еще не ясно.