python应用程序上的循环导入

时间:2014-06-29 18:06:09

标签: python flask

我开始学习python和I'm following this tutorial on setting up Flask,但我在理解作者如何列出文件方面遇到了一些麻烦。从我可以收集的信息来看,我似乎遇到了一个循环导入问题而且我无法解决它。

文件设置如下:

__init__.py

from flask import Flask
app = Flask(__name__)

app.config['SECRET_KEY'] = "something here";
app.config['SQLALCHEMY_DATABASE_URI'] = "sqlite://app.db"

app.py

from flask import render_template, request, redirect, url_for, abort, session
from app import app

@app.route('/')
.... some stuff here

models.py

from flask.ext.sqlalchemy import SQLAlchemy
from app import app

db = SQLAlchemy(app)

class User(db.Model):
.... some stuff here

manage.py

#!/usr/bin/env python
from flask.ext.script import Manage, Shell, Server 
from app import app

manage = Manager(app)
manager.add_command("runserver", Server())
manager.add_command("shell", Shell())

@manager.command
def createdb():
   from app.models import db
   db.create_all()

manager.run()

第一个错误是无法通过运行manage.py runserver启动服务器。我最初能够做到这一点,直到我在init.py中初始化应用程序之前切换文件(最初我将所有内容都放在app.py中)。我收到一条错误说 -

ImportError: cannot import name app

除此之外,如果我消除init.py并启动并运行服务器,我无法创建数据库,因为我收到错误说明 -

运行manage.py createdb时

Import Error: no module named models

0 个答案:

没有答案