【发布时间】:2021-11-17 16:30:52
【问题描述】:
我正在尝试使用 Python/Jinja2 中的 url_for(...) 函数为 web-socket 创建一个端点。
如何在我的模板中告诉url_for(...) 使用“ws”(网络套接字)协议而不是“http”?
【问题讨论】:
标签: python flask jinja2 fastapi
我正在尝试使用 Python/Jinja2 中的 url_for(...) 函数为 web-socket 创建一个端点。
如何在我的模板中告诉url_for(...) 使用“ws”(网络套接字)协议而不是“http”?
【问题讨论】:
标签: python flask jinja2 fastapi
url_for 有两个可用于此目的的属性:
_external = True 用于生成绝对 URL_scheme = '' 用于设置空 URL 方案(不直接支持 ws 或 wss)之后,只需将 ws: 或 wss: URL 方案字符串放在模板中的 url_for 调用之前,例如:
wss:{{ url_for('websocket_endpoint', _external=True, _scheme='') }}
这将产生:
wss://yourdomain.com/websocket_endpoint
【讨论】: