You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取Sanic内存会话的会话ID并传递给Twilio?

获取Sanic内存会话的会话ID

你可以直接通过request.ctx.session_id属性获取当前会话的ID,这个属性是Sanic Session扩展自动设置的。

关键说明

当你首次访问request.ctx.session(哪怕只是读取而非写入数据),Sanic会自动生成会话ID并绑定到request.ctx.session_id上,无需额外手动生成。

完整代码示例

from sanic import Sanic, Request
from sanic_session import Session, InMemorySessionInterface

app = Sanic.get_app()
Session(app, interface=InMemorySessionInterface())

@app.get("/send-to-twilio")
async def send_session_id(request: Request):
    # 存储会话数据
    request.ctx.session['foo'] = 'bar'
    # 获取会话ID
    session_id = request.ctx.session_id
    # 将会话ID传入模板(这里以常用的模板渲染场景为例)
    return await request.app.ctx.template.render("twilio_template.html", session_id=session_id)

注意事项

  • 确保在获取session_id之前已经访问过request.ctx.session,否则session_id会返回None
  • 内存会话的ID是Sanic Session自动生成的随机字符串,无需你手动处理生成逻辑

内容的提问来源于stack exchange,提问作者Foobar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 20:55:59