如何解决如何在pytnon中正确导入模块?
我有这个代码
server.py
from admin.users.views import users_blueprint
server / admin / users / forms.py
from flask_wtf import FlaskForm
from wtforms import StringField,SubmitField
class AddForm(FlaskForm):
pass
server / admin / users / views.py
from flask import Blueprint,render_template,redirect,url_for
from forms import AddForm
users_blueprint = Blueprint('users_blueprint',__name__,template_folder='templates/users')
运行server.py时,出现此错误:
Traceback (most recent call last):
File "server/server.py",line 6,in <module>
from admin.users.views import users_blueprint
File "server\admin\users\views.py",line 2,in <module>
from forms import AddForm
ModuleNotFoundError: No module named 'forms'
有人知道发生了什么事吗?
解决方法
由于Forms.py与调用代码文件(views.py)位于同一文件夹中,因此您可以执行以下操作:
from . import forms
,
在导入语句中,尝试:
from .forms import AddForm
比率:运行代码时,Python对目录敏感。在您调用server.py的顶级目录中没有名为forms
的相邻模块。 .
告诉server/admin/users/views.py
从server/admin/users/forms.py
模块进行相邻导入。
您可以添加
import sys
from pathlib import Path
sys.path.append(str(Path('.').absolute().parent))
在导入时检查父目录。
,导入相对于您启动python脚本时所在的目录而言。在这种情况下,您将需要导入表单:
res.send(...)
或使用类似的相对导入:
from admin.users.forms import AddForm
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。