You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flask运行报错:找不到app.forms.contact_forms模块,求修复方案

问题描述

运行flask run时出现导入错误,系统提示:

请尝试执行 python -m flask run --help 获取帮助。

错误详情如下:

Error: While importing 'app', an ImportError was raised:

Traceback (most recent call last):
  File "C:\Users\lula_\OneDrive\Documentos\projeto_python\projetos_portifolio\Portifolio\.venv\lib\site-packages\flask\cli.py", line 245, in locate_app     
    __import__(module_name)
  File "C:\Users\lula_\OneDrive\Documentos\projeto_python\projetos_portifolio\Portifolio\app\__init__.py", line 2, in <module>
    from app.routes.main_routes import main
  File "C:\Users\lula_\OneDrive\Documentos\projeto_python\projetos_portifolio\Portifolio\app\routes\__init__.py", line 5, in <module>
    from . import main_routes, project_routes, blog_routes, contact_routes
  File "C:\Users\lula_\OneDrive\Documentos\projeto_python\projetos_portifolio\Portifolio\app\routes\main_routes.py", line 4, in <module>
    from app.forms.contact_forms import ContactForm
ModuleNotFoundError: No module named 'app.forms.contact_forms'

我的ContactForm代码如下:

from flask_wtf import FlaskForm
from wtforms import StringField, TextAreaField, SubmitField
from wtforms.validators import DataRequired, Email

class ContactForm(FlaskForm):
    name = StringField('Name', validators=[DataRequired(message="Name is required.")])
    email = StringField('Email', validators=[DataRequired(message="Email is required."), Email(message="Invalid email address.")])
    message = TextAreaField('Message', validators=[DataRequired(message="Message is required.")])
    submit = SubmitField('Send')

我并未手动执行上述导入操作,但运行flask run时仍出现此错误,请问应该在哪里修复该导入问题?


解决方案

根据错误栈信息,问题根源在app/routes/main_routes.py的第4行——该行尝试导入app.forms.contact_forms模块,但Python找不到它。你可以按以下步骤排查修复:

  • 核对文件结构:确认项目中存在app/forms目录,且目录下有contact_forms.py文件(注意文件名大小写,代码中的导入名称要和实际文件名完全匹配)。如果缺少目录或文件,创建对应目录并将你的ContactForm代码放入app/forms/contact_forms.py中。
  • 标记为Python包:在app/forms目录下添加空的__init__.py文件,让Python识别该目录为可导入的包。
  • 修正导入路径:如果你的ContactForm代码不在app/forms/contact_forms.py,而是在其他位置(比如直接在app/forms.py文件中),需要修改main_routes.py中的导入语句,匹配实际路径。例如代码在app/forms.py时,导入语句改为from app.forms import ContactForm。
  • 检查拼写错误:确认main_routes.py中的导入语句没有拼写错误,比如是否误将contact_forms写成contact_form或其他错误名称。

内容的提问来源于stack exchange,提问作者Luiz Valença Filho

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 05:17:10