如何使用 Jinja2 & url_for 为端点设置协议(http、ws 等)
How to set the protocol (http, ws etc.) for the end-point using Jinja2 & url_for
我正在尝试使用 Python/Jinja2 中的 url_for(...)
函数为网络套接字创建端点。
如何让我的模板中的 url_for(...)
使用 'ws'(网络套接字)协议而不是 'http'?
url_for
有两个属性可用于此目的:
_external = True
用于生成绝对 URLs
_scheme = ''
用于设置一个空的URL方案(不直接支持ws
或wss
)
之后,只需将 ws:
或 wss:
URL 方案字符串放在模板中的 url_for
调用之前,例如:
wss:{{ url_for('websocket_endpoint', _external=True, _scheme='') }}
这将产生:
wss://yourdomain.com/websocket_endpoint
我正在尝试使用 Python/Jinja2 中的 url_for(...)
函数为网络套接字创建端点。
如何让我的模板中的 url_for(...)
使用 'ws'(网络套接字)协议而不是 'http'?
url_for
有两个属性可用于此目的:
_external = True
用于生成绝对 URLs_scheme = ''
用于设置一个空的URL方案(不直接支持ws
或wss
)
之后,只需将 ws:
或 wss:
URL 方案字符串放在模板中的 url_for
调用之前,例如:
wss:{{ url_for('websocket_endpoint', _external=True, _scheme='') }}
这将产生:
wss://yourdomain.com/websocket_endpoint