【发布时间】:2017-03-07 03:09:46
【问题描述】:
我想从我的__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'
我原以为我是从同一个文件夹中导入的,所以可以像这样进行导入。
我将如何从__init__.py 文件中导入db 对象?
【问题讨论】:
-
您似乎拥有
fitBody和fitbody。其中一项有效,另一项无效。要么你有错字,要么你没有显示正确的文件结构 -
我看到的是
fitBody.views而不是fitbody.views,那是怎么回事? -
顺便说一句,
from fitBody import app似乎工作正常 -
@cricket_007 是的,抱歉,这是一个错字。我还更新了回溯。我不小心发布了我的旧回溯。
-
from . import db怎么样?
标签: python flask python-import