【发布时间】:2019-07-18 09:58:44
【问题描述】:
我正在尝试使用 wsgi DispatcherMiddleware 在我的应用程序上添加一个 url 前缀。我为调度程序编写了一个模块,为应用程序编写了一个模块,它只有一个名为 home 的视图,这是提供主页的地方。
这是我的 app1.py
import flask
from flask import request, jsonify
app = flask.Flask(__name__)
app.config["DEBUG"] = True
@app.route('/home', methods=['GET'])
def home():
return "<h1>Home</h1>"
和 dispatcher.py
from flask import Flask
from werkzeug.wsgi import DispatcherMiddleware
from werkzeug.exceptions import NotFound
from app1 import app
app = Flask(__name__)
app.wsgi_app = DispatcherMiddleware(NotFound(), {
"/prefix": app
})
if __name__ == "__main__":
app.run()
我想做的是能够导航到http://127.0.0.1:5000/prefix/home
当我在控制台py dispatcher.py 上运行时,但是当我在该网址上导航时,我得到了404 响应。仅在导航到页面http://127.0.0.1:5000/home 时有效。有人可以帮我理解为什么会这样吗?感谢您提供的任何帮助
【问题讨论】:
-
您是否尝试使用蓝图为路由添加前缀?见flask.palletsprojects.com/en/1.0.x/tutorial/views/…和
url_prefix参数
标签: python flask middleware wsgi