【问题标题】:How to set the protocol (http, ws etc.) for the end-point using Jinja2 & url_for如何使用 Jinja2 和 url_for 为端点设置协议(http、ws 等)
【发布时间】:2021-11-17 16:30:52
【问题描述】:

我正在尝试使用 Python/Jinja2 中的 url_for(...) 函数为 web-socket 创建一个端点。

如何在我的模板中告诉url_for(...) 使用“ws”(网络套接字)协议而不是“http”?

【问题讨论】:

    标签: python flask jinja2 fastapi


    【解决方案1】:

    url_for 有两个可用于此目的的属性:

    • _external = True 用于生成绝对 URL
    • _scheme = '' 用于设置空 URL 方案(不直接支持 wswss

    之后,只需将 ws:wss: URL 方案字符串放在模板中的 url_for 调用之前,例如:

    wss:{{ url_for('websocket_endpoint', _external=True, _scheme='') }}
    

    这将产生:

    wss://yourdomain.com/websocket_endpoint
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-07-15
      • 2016-05-10
      • 1970-01-01
      • 2019-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      相关资源
      最近更新 更多