当我运行127.0.0.1:5000上托管的server.py时,它将生成文章列表
@app.route("/")
def articles():
"""Show a list of article titles"""
return render_template('articles.html', my_list= Alist)
上面的代码生成文章列表,当我运行127.0.0.1:5000时,该列表运行正常。
@app.route("/article/<topic>/<filename>")
def article(topic,filename):
"""
Show an article with relative path filename. Assumes the BBC structure of
topic/filename.txt so our URLs follow that.
"""
for art in articles_table:
if art[0]== "%s/%s" %(topic, filename):
title_str = art[1]
text_list = art[2].split('\n')
text_list = [t.lower() for t in text_list if len(t) >= 1]
rec = recommended(art[0], articles_table, 5)
break
return render_template('article.html', title=title_str, text=text_list,
fiveA= rec)
但是,每当我单击任何文章时,它都会重定向到http://127.0.0.1:5000/article/data/bbc/business/003.txt 并生成错误404,但文件位于本地目录中的特定路径 我相信错误在于第二个代码段。 我是保温瓶的初学者,所以我对要做的事情很困惑。任何帮助将不胜感激
答案 0 :(得分:0)
如果我正确理解,您正在尝试抓住topic
和filename
的路线。问题是您尝试访问的URL与您定义的路由不匹配。
您有2个选择:
@app.route("/article/<topic>/<filename>")
相同的路线。这里topic
的值为"business"
,而filename
的值为"003.txt"
。@app.route("/article/data/bbc/<topic>/<filename>")
。同样,topic
的值为"business"
,而filename
的值为"003.txt"
。您可以找到有关路线here
的更多信息