加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 在Flask-SQLAlchemy中使用Mixer

发布时间:2020-12-20 13:41:13 所属栏目:Python 来源:网络整理
导读:我正在尝试使用 mixer来生成由Flask SQLAlchemy提供支持的网站的测试数据. 我在项目的根目录中创建了一个名为generate_test_data.py的文件,如下所示: # -*- coding: utf-8 -*-import appfrom mixer.backend.flask import mixerfrom models import *def gene
我正在尝试使用 mixer来生成由Flask SQLAlchemy提供支持的网站的测试数据.

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

# -*- 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()

但是,每次运行该文件时都会出现以下错误:

Traceback (most recent call last):
  File "generate_test_data.py",line 3,in <module>
    import app
ImportError: No module named app

我正在使用正确的virtualenv激活这样做.

更新

我的项目结构如下所示:

/
 - generate_test_data.py
 - app/
 -- __init__.py
 -- models.py

**更新**

我的__init__.py:

# -*- 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

解决方法

我会将您的项目结构重新构建为:

myproject/
    generate_test_data.py
    __init__.py
    models.py

然后,在generate_test_data.py中,您可以这样做

from myproject import app

这样会更好,因为您要删除任何名称冲突.此外,您明确要导入您真正想要的app变量.您当然可以将“myproject”命名为您想要的任何名称,但不要将其命名为“app”以确保安全

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读