【问题标题】:Flask URL DisplayFlask URL 显示
【发布时间】:2013-12-05 19:18:04
【问题描述】:

我有一个看起来像

的自定义网址
@app.route('/user/<user_name>/<param>')
def show_param(user_name, param):
    #do something

该页面显示正常并且运行良好,但param 可以在其中包含空格等,我宁愿不显示这些。我想做的是在向用户显示之前更改param 的视觉显示。我如何访问它?

【问题讨论】:

  • “在显示给用户之前更改参数的视觉显示”是什么意思? eg:用户的地址栏什么的?
  • 不确定您的意思?你是说 URL 允许空格吗?
  • 如果你想限制param匹配的值类型,你需要指定一个转换器。 Flask / Werkzeug 带有字符串转换器(除了/,默认值)、intfloat。如果你有别的东西,你必须创建一个自定义转换器。
  • 明确地说,我只想将 url 栏从显示 /user/myname/foo%20bar 之类的内容更改为 /user/myname/foo-bar

标签: python url flask


【解决方案1】:

您可以根据自己的喜好调整 URL,然后重定向到那个。

@app.route('/user/<user_name>/<param>')
def show_param(user_name, param):
    if ' ' in param:
        param = param.replace(' ', '-')
        return redirect(url_for('show_param'), user_name=user_name, param=param)

【讨论】:

  • 您应该使用url_for() 来生成重定向网址。
猜你喜欢
  • 2021-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-18
  • 2015-05-16
  • 2012-11-15
  • 2019-09-19
  • 1970-01-01
相关资源
最近更新 更多