Python &引用;名称错误:名称';重定向';“未定义”;即使已导入重定向

Python &引用;名称错误:名称';重定向';“未定义”;即使已导入重定向,python,flask,Python,Flask,我有一个简单的烧瓶1.1.x应用程序: from flask import Flask from flask import redirect, render_template, url_for app = Flask(__name__) @app.route('/', methods=['GET']) def index(): return render_template("index.html") @app.route('/donate', meth

我有一个简单的烧瓶1.1.x应用程序:

from flask import Flask
from flask import redirect, render_template, url_for

app = Flask(__name__)


@app.route('/', methods=['GET'])
def index():
    return render_template("index.html")
    
@app.route('/donate', methods=['GET'])
def donate():
    return render_template("donate.html")

@app.route('/donations', methods=['GET'])
def donations():
    return redirect(url_for('donate'))


if __name__ == '__main__':
    app.run(host='localhost', port=8080, debug=True)
我正在本地服务器上开发。当我试图在浏览器中访问
/code>时,我收到一个内部服务器错误,本地服务器报告此错误:

ERROR in app: Exception on /donations [GET]
<trimmed>
    return redirect(url_for('donate'))
NameError: name 'redirect' is not defined
应用程序中的
错误:捐赠[GET]上出现异常
返回重定向(“捐赠”)的url\u
NameError:未定义名称“重定向”

我不明白为什么它报告
重定向
为未定义,因为我正在导入它,并以相同的方式调用它。

你能用
返回重定向(“捐赠”)替换
返回重定向(url\u)吗?
你的代码是正确的。我的猜测是,有一个坏字符或奇怪的格式。尝试将你的代码从问题复制到一个新文件并运行它。这不可思议地开始起作用,所以我投票决定结束这个问题。