from flask import Flask, render_template
app = Flask(__name__, static_url_path='')
@app.route('/')
def index():
return render_template('index.html')
@app.route('/page/<path:page>')
def article(page):
return render_template('page.html')
if __name__ == "__main__":
app.run()
工作得很好。但是,如果我将第二条路线更改为@app.route('/<path:page>')
,那么对/path/to/page
等网址的任何访问都会产生404。
为什么@app.route('/<path:page>')
无效?
相关问题,但不回答这个问题:
答案 0 :(得分:2)
static_url_path
与路由冲突。 Flask认为/
之后的路径是为静态文件保留的,因此path
转换器不起作用。请参阅:URL routing conflicts for static files in Flask dev server
答案 1 :(得分:1)
对我来说完美无缺:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/page/<path:page>')
def article(page):
return render_template('page.html')
if __name__ == "__main__":
app.debug = True
app.run()
我可以访问:http://localhost/
- &gt; index
和http://localhost/page/<any index/path e.g.: 1>
- &gt; article