You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask如何将多级路径URL重命名为简洁路径?

解决Flask URL重定向问题

问题分析

你需要将形如 page/folder_1/folder_2.../folder_n/finfolder.html 的URL统一映射到 page/different_name,原代码存在两个核心问题:视图函数返回格式错误,且误用了不存在的rename方法。

正确实现代码

from flask import Flask, render_template, redirect, url_for

app = Flask(__name__)

# 处理旧URL,重定向到新URL
@app.route('/page/<path:old_path>')
def redirect_old_url(old_path):
    # 重定向到新的路由地址,浏览器地址栏会同步更新
    return redirect(url_for('new_page'))

# 新URL对应的视图函数
@app.route('/page/different_name')
def new_page():
    # 渲染目标页面模板,替换为你实际需要的模板文件
    return render_template('finfolder.html')

if __name__ == '__main__':
    app.run(debug=True)

代码说明

  • 用<path:old_path>匹配/page/之后的任意层级路径,完全覆盖你提到的多级文件夹+HTML文件的URL格式。
  • 通过redirect配合url_for实现旧URL到新URL的跳转,确保浏览器地址栏显示page/different_name。
  • new_page函数负责返回实际要展示的页面内容,你可以根据需求修改render_template的参数。

如果不需要地址栏跳转,仅希望新旧URL返回相同内容,可简化为:

@app.route('/page/<path:old_path>')
@app.route('/page/different_name')
def unified_page():
    return render_template('finfolder.html')

这种方式下,访问新旧URL都会返回相同内容,但地址栏会保留原访问路径。

内容的提问来源于stack exchange,提问作者AdAdAd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 00:57:13