我想从我的__init__文件中导入一个类。但是我没能进口它。这是我的目录结构
/fitBody_app
/fitBody
/static
/templates
__init__.py
models.py
views.py
run.py这些是我的__init__.py文件的全部导入:
import os
from flask import Flask
from flask_admin import Admin
from flask_admin.contrib.sqla import ModelView
from flask_sqlalchemy import SQLAlchemy
from wtforms import fields, widgets
from fitBody.views import my_app
from flask_bootstrap import Bootstrap
app = Flask(__name__)
db = SQLAlchemy(app)这些是我在views.py文件中的所有导入:
import bcrypt
from flask import flash, redirect, render_template, request, session, Blueprint, url_for
from fitBody.models import RegistrationForm
from fitBody.models import cursor, conn
from fitBody import db
my_app = Blueprint('fitBody', __name__)
<......>当我试图运行该文件时,这是我的回溯:
Traceback (most recent call last):
File "/Users/kai/github-projects/fitBody_app/run.py", line 1, in <module>
from fitBody import app
File "/Users/kai/github-projects/fitBody_app/fitBody/__init__.py", line 9, in <module>
from fitBody.views import fitBody
File "/Users/kai/github-projects/fitBody_app/fitBody/views.py", line 8, in <module>
from fitBody import db
ImportError: cannot import name 'db'我曾经想过,因为我是从同一个文件夹中导入的,所以可以这样进行导入。
如何从db文件导入__init__.py对象?
发布于 2017-03-07 06:06:24
由于views.py使用db,所以导入语句应该在db定义之后。或者为了更好的设计,将蓝图移到另一个文件中,只需将蓝图保存在该文件中:
#__init__.py
app = Flask(__name__)
db = SQLAlchemy(app)
from fitBody.views import my_app发布于 2017-03-07 03:50:57
它与从__init__.py文件导入无关。views.py是从__init__.py文件导入的,__init__.py文件是从views.py导入的,这是一个导入周期。我不确定您的models.py是什么样子,但是如何在models.py中初始化db,并从models.py导入__init__.py和views.py?
https://stackoverflow.com/questions/42639466
复制相似问题