我正在编写一个简单的Web应用程序来使用Flask和Twilio API启动会议呼叫。 Twilio API的工作方式是,使用Twilio号码拨号;当应答呼叫时,Twilio将调用您之前指定的回叫URL。当呼叫回叫时,当前活动的呼叫将被添加到活动的会议室。因此,我对Flask的问题是如何在端点功能之间传递活动的会议会话。
例如;
class ConferenceSession(object):
def __init__(self, config):
self._conf_session = SomeTwilioAPI()
def dial_attendee(self, number):
# dial the attendee
SomeTwilioAPI.call(number)
def add_attendee(self):
if self._conf_session:
self._conf_session.SomeTwilioAPI()
# flask app
app = Flask(__name__)
app.route('/conference')
def conference():
for participants in request['participants']:
return conf_session.dial_attendee(participants')
@app.route('/answered')
def answered()
conf_session.add_attendee()
if __name__ == '__main__':
config = ConfConfig()
conf_session = ConferenceSession(config)
app.run()
现在这个有效。但是我的项目打包得不好。而且我使用的是全局变量conf_session
。所以我的问题是如何在一个类中包含Flask
app,因此可以在不使用全局变量的情况下访问变量conf_session
?抱歉,我无法提供MVP,因为上下文有很多不相关的代码。
答案 0 :(得分:1)
查看会话here上的文档。您可以在一个端点中设置conf_session
并在下一个端点中访问它。
这一行:
from flask import session
@app.route('/check_session')
def check():
if 'conf_session' in session:
# do something here
@app.route('/set_session')
def set_session():
# set the conf_session here
conf_session = call_to_twilio()
session['conf_session'] = conf_session