(文件环境: Python3, flask jinja2, 文件是 utf-8 编码)
我写了一个路由:
@
app.route('/@<username>', methods=['GET', 'POST'])
def user(username):
pass ...
手工在浏览器里输入:
example.com/@username ,这样 @字符在新版的浏览器里都可以正常显示的。
但是,如果是从模板 Template 中渲染的链接 href="{{ url_for('.user', username=username) }} , 点击链接在新页面的浏览器地址栏里,@字符就会被转码成 %40 。
这个怎么能让 url 依旧保持原来的编码啊?(虽然 @转成%40 功能不影响,但是 url 不优雅嘛 )
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/292071
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.