Python 如何修复烧瓶蓝图错误-未找到模块
我看过帮助指南等等,但我似乎仍然无法让烧瓶蓝图工作 这是我的结构Python 如何修复烧瓶蓝图错误-未找到模块,python,flask,Python,Flask,我看过帮助指南等等,但我似乎仍然无法让烧瓶蓝图工作 这是我的结构 root / config.py |app/ | __init__.py | user_auth/ | __init__.py | app.py | routes.py 在app/init.py文件中,如下所示 from flask import Flask from config import Conf
root /
config.py
|app/
| __init__.py
| user_auth/
| __init__.py
| app.py
| routes.py
在app/init.py文件中,如下所示
from flask import Flask
from config import Config
app = Flask(__name__)
app.config.from_object(Config)
from .user_auth.routes import user_auth
app.register_blueprint(user_auth, url_prefix="")
从用户_authinit.py文件
from flask import Flask
from config import Config
from flask_sqlalchemy import SQLAlchemy
from flask_migrate import Migrate
from flask_login import LoginManager
app = Flask(__name__)
app.config.from_object(Config)
db = SQLAlchemy(app)
migrate = Migrate(app, db)
login = LoginManager(app)
login.login_view = 'login'
app.config['SECRET_KEY'] = 'trial'
from user_auth import routes, models
这是user\u auth/routes.py文件
from user_auth import app, db
from flask_login import login_required
from user_auth.forms import RegistrationForm, LoginForm
from flask import request, render_template, flash, redirect, url_for, Blueprint
from werkzeug.urls import url_parse
from flask_login import logout_user
from flask_login import current_user, login_user
from user_auth.models import User
from flask import Blueprint
user_auth = Blueprint('user_auth', __name__)
@app.route('/')
@app.route('/index')
def index():
return render_template('index.html', title='Welcome')
@app.route('/register', methods=["POST", "GET"])
def register():
... (Other paths)
我正在运行Windows并使用以下命令
set FLASK_APP=app
然后我使用
flask run
当我尝试运行时,它会显示以下内容:
Error: While importing "app", an ImportError was raised:
Traceback (most recent call last):
File "...\python38-32\lib\site-packages\flask\cli.py", line 240, in locate_app
__import__(module_name)
File "...\root\app\__init__.py", line 8, in <module>
from .user_auth.routes import user_auth
File "...\root\app\user_auth\__init__.py", line 16, in <module>
from user_auth import routes, models
ModuleNotFoundError: No module named 'user_auth'
错误:导入“应用程序”时,引发了导入错误:
回溯(最近一次呼叫最后一次):
文件“…\python38-32\lib\site packages\flask\cli.py”,第240行,在locate\u应用程序中
__导入(模块名称)
文件“…\root\app\\uuuuu init\uuuuuu.py”,第8行,在
from.user\u auth.routes导入用户\u auth
文件“…\root\app\user\u auth\\uuuuu init\uuuuuuuuuuuu.py”,第16行,在
从用户_auth导入路由、模型
ModuleNotFoundError:没有名为“user\u auth”的模块
提前感谢您的帮助。对于
app/user\u auth/
中的所有文件,如您在上面提到的init.py
和routes.py
,您需要使用
- 绝对导入:
来自root.app.user\u auth
- 相对导入:
from..user\u auth
user\u auth
既是一个包名,也是blueprint的变量名
变化无常
# routes.py
user_auth_bp = Blueprint('user_auth', __name__)
# app/__init__.py
from .user_auth.routes import user_auth_bp
app.register_blueprint(user_auth_bp, url_prefix="")
为什么定义了两个不同的烧瓶应用程序?一个在app/init.py中,一个在app/user\u auth/init.py中,另一个在ont中,谢谢!这有帮助,但我还有另一个问题。问题链接到这里: