无法路由非ascii URL Flask

时间:2018-04-16 09:58:35

标签: python json url flask

我的网址路由到Flask的问题,正是在网络浏览器中运行它。我想要的是将尖锐的符号“#”和一些俄语单词(如“#привет”或“#ПомогитеМнеПожалуйста”)一起转移。

错误的屏幕截图:enter image description here

目前我的编程代码如下:

# -*- coding: utf-8 -*-
from flask import Flask, jsonify
app = Flask(__name__)

@app.route('/hashtags/<names>', methods=['GET'])
def get_hashtags(names):
    return jsonify({'Segmentation Hashtags': names})


if __name__ == '__main__':
    app.run(port=9876)

所以,基本上,<names>是函数get_hashtag中的一个参数,用于使用jsonify将我未来的hashtag传输到Web浏览器。我需要找到使用尖锐符号“#”和俄语字母传输任何我想要的标签的方式。据我所知,有一种ASCII编码方法(类似。**decode(utf-8)**),但我不知道如何正确使用它。

提前致谢!

2 个答案:

答案 0 :(得分:0)

主题标签导致错误。您可以尝试在客户端删除它们,只需请求此链接:

/hashtags/привет

url中的Hashtags通常用于告诉浏览器页面上的哪个元素跳转到。例如,在https://en.wikipedia.org/wiki/Stack_Overflow#Technology

#Technology表示跳转到页面的技术部分。

答案 1 :(得分:0)

尝试unidecode:

from unidecode import unidecode

@app.route('/hashtags/<names:string>', methods=['GET'])
def get_hashtags(names):
    return jsonify({'Segmentation Hashtags': unidecode(names)})