【问题标题】:Cannot route non-ascii URLs Flask无法路由非 ascii URL Flask
【发布时间】:2018-09-26 00:38:12
【问题描述】:

我在将我的 URL 地址路由到 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)

所以,基本上,&lt;names&gt; 是函数 get_hashtag 的一个参数,用于使用 jsonify 将我未来的主题标签传输到网络浏览器。我需要找到用尖锐符号“#”加俄语字母转移我想要的任何主题标签的方法。据我所知,有一种 ASCII 编码方法(类似 .**decode(utf-8)**),但我不知道如何正确使用它。

提前致谢!

【问题讨论】:

    标签: python json url flask


    【解决方案1】:

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

    /hashtags/привет

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

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

    【讨论】:

      【解决方案2】:

      尝试单解码:

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

      【讨论】:

        猜你喜欢
        • 2018-09-25
        • 2022-09-27
        • 1970-01-01
        • 2016-02-10
        • 1970-01-01
        • 2021-02-11
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多