我正在尝试为Flask应用添加另一个视图。我的app / views.py看起来像这样:
from flask import render_template
from app import app
from helpfulFunctions import *
def getRankingList():
allPlayers = main()
return allPlayers
def displayLimitedNumberOfPlayers(limit):
allPlayers = main()
allPlayers[0] = limitPlayers(allPlayers[0], limit)
allPlayers[1] = limitPlayers(allPlayers[1], limit)
return allPlayers
@app.route("/")
@app.route("/index")
def index():
rankingList = getRankingList()
return render_template('index.html', title='Home', rankingList = rankingList)
@app.route("/top100")
def top100():
rankingList = displayLimitedNumberOfPlayers(100)
return render_template('top100.html', rankingList = rankingList)
if __name__ == '__main__':
app.run(debug=True)
我试图模仿Miguel Grinberg教程如何定义/
和/index
的路由。我在模板文件夹中创建了一个名为top100.html
的视图,其中“index.html”文件也存在。但是,当我尝试点击localhost:5000/top100.html
时,我得到:
Not Found
The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again.
所以看起来Flask并不认为URL有与之相关的视图......但我不确定原因。
有什么想法吗?
感谢您的帮助, bclayman
答案 0 :(得分:7)
您的代码中没有查看top100.html
。您可以执行其中任何一项
localhost:5000/top100
OR
将@app.route("/top100")
更改为@app.route("/top100.html")
答案 1 :(得分:2)
路由(或网址)在var obj3 = $.extend(true, {}, obj1, obj2);
定义中指定,因此您应该访问@app.route()
。
render_template localhost:5000/top100
仅在Flask内部引用,以指定使用的模板。实际上,这个页面可以被命名为任何东西,并且不必以与路径类似的方式命名...它只需匹配用于构建在该URL上提供的页面的模板文件。