报错:werkzeug.routing.BuildError

来源:5-4 网易新闻前台

Ethan_Ban

2019-07-01

2019.7.3更新问题

  1. 代码如下所示,执行flask_news.py时,发现如果末尾 加上app.run(debug=True),报错为下图所示:

网页报错图片描述

图片描述Termial 中报错截图如下:
图片描述图片描述 
2. 当不加 debug调试模式时,报错为:
图片描述

7.3 更新结束


报错内容:
打开主页 127.0.0.1:5000 时报错

werkzeug.routing.BuildError: Could not build url for endpoint ‘detail’ with values [‘pk’]. Did you mean ‘datail’ instead?

模板文件和老师一致。
查了很久,发现在 视图函数 index( )中:

如果 new_lists = News.query.all( ) 就会报错
如果 new_lists = News.query.filter_by(is_valid = 1) 就不会报错

具体是什么原因,还是不太明白

以下为试图函数代码:

@app.route('/')
def index():
    ''' 新闻首页 '''
    news_list = News.query.all()
    return render_template('index.html', news_list=news_list)

@app.route('/cat/<name>/')
def cat(name):
    ''' 新闻分类'''
    news_list = News.query.filter(News.types == name)
    return render_template('cat.html', name=name, news_list=news_list)

@app.route('/detail/<int:pk>/')
def datail(pk):
    '''新闻详情 '''
    new_obj = News.query.get(pk)
    return render_template('detail.html', pk=pk, new_obj=new_obj)



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

写回答

1回答

NavCat

2019-07-03

错误页面能截个大图出来吗?你提供的错误信息太少了,不好排查

0
3
NavCat
回复
Ethan_Ban
哈哈,这种问题调起来真是纠结
2019-07-03
共3条回复

Python操作三大主流数据库-MySQL+MongoDB+Redis

一次实战同时掌握Python操作MySQL,MongoDB,Redis 三大数据库使用技巧

2024 学习 · 376 问题

查看课程