首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mixer与烧瓶-SQLAlchemy

使用Mixer与烧瓶-SQLAlchemy
EN

Stack Overflow用户
提问于 2014-03-19 15:26:50
回答 1查看 635关注 0票数 4

我正在尝试使用混合器为一个由Flask+SQLAlchemy驱动的网站生成测试数据。

我在我的项目的根目录中创建了一个名为generate_test_data.py的文件,如下所示:

代码语言:javascript
复制
# -*- coding: utf-8 -*-

import app
from mixer.backend.flask import mixer
from models import *

def generate_test_data():
        user = mixer.blend(Users)

if __name__ == "__main__":
        generate_test_data()

然而,每次运行该文件时,都会收到以下错误:

代码语言:javascript
复制
Traceback (most recent call last):
  File "generate_test_data.py", line 3, in <module>
    import app
ImportError: No module named app

我是用正确的virtualenv激活的。

更新

我的项目结构如下:

代码语言:javascript
复制
/
 - generate_test_data.py
 - app/
 -- __init__.py
 -- models.py

**最新情况**

我的__init__.py

代码语言:javascript
复制
# -*- coding: utf-8 -*-

from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.uwsgi_websocket import GeventWebSocket
from config import REDIS_HOST, REDIS_PORT
import redis


app = Flask(__name__)
db = SQLAlchemy(app)
ws = GeventWebSocket(app)

POOL = redis.ConnectionPool(host=REDIS_HOST, port=REDIS_PORT, db=0)
redis = redis.Redis(connection_pool=POOL)

from app import views, models
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-19 16:28:04

我会重新构造你的项目结构如下:

代码语言:javascript
复制
myproject/
    generate_test_data.py
    __init__.py
    models.py

然后,在你的generate_test_data.py中,你可以

代码语言:javascript
复制
from myproject import app

这将更好,因为您要删除任何名称冲突。此外,您正在显式导入您真正想要的应用程序变量。当然,您可以将"myproject“命名为您想要的任何名称,但为了安全起见,不要将其命名为"app”。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22510602

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档