栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

用Flask蓝图解决此循环导入错误的正确方法是什么?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用Flask蓝图解决此循环导入错误的正确方法是什么?

您的代码中有一个循环导入。基于回溯:

  1. app.py
    确实
    from views import site
  2. views.py
    确实
    from models import User
  3. models.py
    确实
    from database_setup import db
  4. database_setup.py
    确实
    from app import app
  5. app.py
    确实
    from views import site

根据这些事件的顺序,

app.py
您所发布的不是真正导致您的问题的事件。目前,
app
尚未在
views
导入之前进行定义,因此当进一步尝试获取时
app
,它尚不可用。

您需要重组项目,以便 定义 之后

app
导入所有依赖项。从您的问题看来,您似乎认为自己确实做到了,但是也许您上面仍然遗漏了一个重要内容。
__
app``app


可能不相关,但是您目前不鼓励使用“相对”导入。

from views import site
您应该执行绝对路径:
from app.viewsimport site
或相对路径:,而不是执行其他操作
from .views import site


要回答最初的问题“使用

__main__
蓝图导入是个好主意吗?”,不是。这样做的问题是, 在直接运行模块 时才
执行
__main__
防护。当您使用uWSGI或Gunicorn等真实的应用服务器进行部署时,不会导入或注册任何蓝图。 __



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/669419.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号