添加第二个路由后Flask应用无法启动,报AttributeError错误求助
问题原因与解决方案
你的问题根源在于变量名冲突:
- 你先创建了Flask应用实例
app = Flask(__name__) - 但第二个路由的函数名也用了
app,这会把全局作用域里的app变量覆盖成这个视图函数
当最后执行app.run(debug=True)时,app已经不是Flask实例,而是那个名为app的函数,函数没有run属性,所以抛出AttributeError。
只需要把第二个视图函数的名字改成别的(比如imgapp),避免和Flask实例重名即可,修正后的代码如下:
from flask import Flask, render_template, redirect app = Flask(__name__) @app.route('/') def index(): return render_template('index.html') @app.route('/imgapp') def imgapp(): # 修改函数名,避免和app实例冲突 return render_template('img_app.html') if __name__ == '__main__': app.run(debug=True)
内容的提问来源于stack exchange,提问作者Zelnesh
相关产品推荐
相关产品推荐

