Python 名称错误:名称';app&x27;未在烧瓶中定义

Python 名称错误:名称';app&x27;未在烧瓶中定义,python,flask,Python,Flask,\uuuuuuuuu\uuuuuuuuupy: FlaskWebDir helloapp __init__.py templates hello.py main.py from flask import Flask from helloapp import routes app = Flask(__name__) if __name__=='__main__': app.run() from flask import render_template

\uuuuuuuuu\uuuuuuuuupy

FlaskWebDir
  helloapp
    __init__.py
    templates
    hello.py
  main.py
from flask import Flask
from helloapp import routes

app = Flask(__name__)

if __name__=='__main__':
    app.run()
from flask import render_template

@app.route("/")
def hello():
    ### code
    
@app.route("/user/<username>/")
def hello_user(username):
    ### code

@app.route("/users/")
def display_users():
    ###code
routes.py

FlaskWebDir
  helloapp
    __init__.py
    templates
    hello.py
  main.py
from flask import Flask
from helloapp import routes

app = Flask(__name__)

if __name__=='__main__':
    app.run()
from flask import render_template

@app.route("/")
def hello():
    ### code
    
@app.route("/user/<username>/")
def hello_user(username):
    ### code

@app.route("/users/")
def display_users():
    ###code
$flask运行
*服务烧瓶应用程序“main.py”
*环境:生产
警告:这是一个开发服务器。不要在生产部署中使用它。
改用生产WSGI服务器。
*调试模式:关闭
回溯(最近一次呼叫最后一次):
文件“/home/as/FlaskWebDir/projenv/bin/flask”,第8行,in
sys.exit(main())
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第967行,在main中
cli.main(args=sys.argv[1:],prog_name=“python-m flask”如果as_模块else无)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第586行,在main中
返回超级(烧瓶组,自身)。主(*args,**kwargs)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/core.py”,第782行,在main中
rv=自调用(ctx)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/core.py”,调用中的第1259行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/core.py”,调用中的第1066行
返回ctx.invoke(self.callback,**ctx.params)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/core.py”,调用中第610行
返回回调(*args,**kwargs)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/decorators.py”,第73行,在新函数中
返回ctx.invoke(f,obj,*args,**kwargs)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/click/core.py”,调用中第610行
返回回调(*args,**kwargs)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第848行,在run_命令中
app=DispatchingApp(info.load\u app,使用\u eager\u loading=eager\u loading)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第305行,在__
自身。_加载_解锁()
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第330行,在“加载”中
self.\u app=rv=self.loader()
load_应用程序中的文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第388行
应用程序=定位应用程序(自我、导入名称、名称)
文件“/home/as/FlaskWebDir/projenv/lib/python3.8/site packages/flask/cli.py”,第240行,在locate_应用程序中
__导入(模块名称)
文件“/home/as/FlaskWebDir/main.py”,第1行,在
从helloapp导入应用程序
文件“/home/as/FlaskWebDir/helloapp/_init__uu.py”,第2行,在
从helloapp导入路线
文件“/home/as/FlaskWebDir/helloapp/routes.py”,第5行,在
@附件路线(“/”)
NameError:未定义名称“app”
在路线中,添加:

#上一次导入
从helloapp导入应用程序
@应用程序路径(“/”)
def hello():
# ...
# ...

您在此处导入的
app
已在装饰程序中使用。

我将配置部分移动到init.py文件中,因此不需要该文件,这就是我将路由导入init.py文件的原因。如果main.py所做的只是导入app,那么它的意义何在?此外,正如错误所示,您不会在routes.py中导入应用程序