Я пытаюсь использовать mixer для генерации тестовых данных для веб-сайта, оснащенного Flask + SQLAlchemy.Использование 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.
Update
Моя структура проекта выглядит следующим образом:
/
- 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
Вы можете поделиться кодом '__init __. Py'? Как вы создаете приложение для флэков? Я предполагаю, что ваша папка проекта называется приложением /, в то время как ваше приложение фляги также называется приложением. Некоторые конфликты происходят. Лучше переименовать папку проекта, например сказать «myapp», а затем сделать «из приложения импорта myapp» – codegeek
Добавлен код для моего '__init __. Py' – ruipacheco