[英]Flask ImportError: cannot import name app
在本教程中设置一个简单的 Flask 应用程序后, run.py
文件包含:
from site import app
import os
app.secret_key = os.urandom(24)
app.run(debug=True)
我有site/__init__.py
from .views import app
from .models import graph
在site/views.py
from .models import User, get_todays_recent_posts
from flask import Flask, request, session, redirect, url_for, render_template, flash
app = Flask(__name__)
带有一堆@app.route
函数
site/models.py
有
from py2neo import Graph, Node, Relationship
from passlib.hash import bcrypt
from datetime import datetime
import os
import uuid
graph = Graph()
我在run.py
的第一行不断收到ImportError: cannot import name app
错误。
所有其他问题似乎都是循环导入问题,但我确定我没有。
我没有像项目中描述的那样创建虚拟环境,这可能是问题吗?
我在 Windows 上使用 python2.7。
编辑:
解决这个问题的方法是将整个项目重组为一个 .py 文件,无论如何,这感觉就像一个更清晰的文件结构。
看源码
你会在site/__init__.py
from .views import app
这在site
模块中声明了app
,因此允许您在运行模块中使用它
from site import app
否则,你需要
from site.views import app
app
在site.views
中定义,所以你需要从那里导入它。
from site.views import app
如果人们仍然遇到此问题,请将文件夹名称从站点更改为其他名称(例如网站),并在从站点导入时将其更改为新文件夹名称。
我想 Flask 中有些东西会阻止您命名目录站点。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.