Python 拆分应用程序和视图代码时出现名称错误

Python 拆分应用程序和视图代码时出现名称错误,python,flask,Python,Flask,我想将代码分为两部分,应用程序初始化和视图定义。我导入我的视图并定义我的应用程序,但我得到了name错误:未定义名称“manager”。为什么我会犯这个错误?如何正确拆分代码 manage.py: from flask import Flask,render_template from flask.ext.script import Manager import viewports manager = Flask(__name__) if __name__=='__main__':

我想将代码分为两部分,应用程序初始化和视图定义。我导入我的视图并定义我的应用程序,但我得到了
name错误:未定义名称“manager”
。为什么我会犯这个错误?如何正确拆分代码

manage.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()
视口.py

@manager.route('/')
def Home():
     return render_template('Home.html', title='FrontPage')

您创建了一个循环导入:首先导入
视口
,这将导入
管理器
,它仅在导入
视口
后定义。您也没有正确组织代码,所有内容都应该放在一个包中。您还将创建Flask脚本管理器与创建Flask应用程序相混淆。另外,
flask.ext
已被弃用,请直接从包名导入

myu项目/
我的应用程序/
__初始值
views.py
manage.py
\uuuu init\uuuuu.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()
views.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()
manage.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()

您创建了一个循环导入:首先导入
视口
,这将导入
管理器
,它仅在导入
视口
后定义。您也没有正确组织代码,所有内容都应该放在一个包中。您还将创建Flask脚本管理器与创建Flask应用程序相混淆。另外,
flask.ext
已被弃用,请直接从包名导入

myu项目/
我的应用程序/
__初始值
views.py
manage.py
\uuuu init\uuuuu.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()
views.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()
manage.py

from flask import Flask,render_template
from flask.ext.script import Manager

import viewports

manager = Flask(__name__)

if __name__=='__main__':
     manager.run()
from flask import Flask
from flask_script import Manager

app = Flask(__name__)
manager = Manager(app)

from my_app import views
from my_app import app

@app.route('/')
def index():
    return 'Hello, World!'
from my_app import manager

manager.run()

来自管理导入管理器
。您可能需要。@HenryGomersall这将导致另一个导入错误,因为没有名为manager的模块…@HenryGomersall Oops。。。是我的错,我把它写进了经理而不是管理。。。感谢管理导入经理
提供的帮助。您可能需要。@HenryGomersall这将导致另一个导入错误,因为没有名为manager的模块…@HenryGomersall Oops。。。是我的错,我把它写进了经理而不是管理。。。谢谢你的帮助