【发布时间】:2015-02-19 20:20:31
【问题描述】:
我使用 Flask-Testing 并制作文件 test_app.py 进行测试但我收到此错误文件“test_app.py”,第 4 行,在 from app import create_app, db ImportError: No module named app. 所以请帮助我如何解决它以及问题是什么谢谢:)
这是我的结构:
myapplication
app
__ init __.py
model.py
form.py
autho
layout
static
templates
migrations
test
-test_app.py
config.py
manage.py
test_app.py
#!flask/bin/python
import unittest
from flask.ext.testing import TestCase
from app import create_app, db
from app.model import Users
from flask import request, url_for
import flask
class BaseTestCase(TestCase):
def create_app(self):
self.app = create_app('testing')
return self.app
config.py
class TestingConfig(Config):
TESTING = True
SQLALCHEMY_DATABASE_URI = os.environ.get('TEST_DATABASE_URL') or \
'sqlite:///' + os.path.join(basedir, 'mytest.sqlite')
__ 初始化 __.py
#!flask/bin/python
from flask import Flask
from flask.ext.sqlalchemy import SQLAlchemy
from flask.ext.login import LoginManager
import psycopg2
from config import basedir
from config import config
db = SQLAlchemy()
lm = LoginManager()
lm.login_view = 'login'
login_manager = LoginManager()
login_manager.login_view = 'layout.login'
def create_app(config_name):
app = Flask(__name__)
app.config['DEBUG'] = True
app.config.from_object(config[config_name])
db.init_app(app)
login_manager.init_app(app)
# login_manager.user_loader(load_user)
from .layout import layout as appr_blueprint
# register our blueprints
app.register_blueprint(appr_blueprint)
from .auth import auth as auth_blueprint
app.register_blueprint(auth_blueprint)
return app
【问题讨论】:
-
您可能需要将您的
myapplication/目录添加到$PYTHONPATH(参见users-cs.au.dk/chili/PBI/pythonpath.html) -
谢谢你的评论,但我不是 python 专家,所以我应该命令 (venv)peg@peg:~/myapplication/test$ export PYTHONPATH=${PYTHONPATH}:/users/[你的用户名] /我的应用程序/测试/ ??? @BorrajaX
-
差不多。试试:
export PYTHONPATH=${PYTHONPATH}:/users/[your username]/myapplication/你的app模块(或目录)在/myapplication/下。让我们知道会发生什么 -
我的意思是......只是为了清楚......添加到
$PYTHONPATH的路径是myapplication目录的完整路径。假设它在/home/borrajax/Documents/Python/myapplication/下,那么您将使用export PYTHONPATH=${PYTHONPATH}:/home/borrajax/Documents/Python/myapplication/(不过,这可能因装有 Windows 的机器而异) -
等等...
__ init.py __' and another one betweeninit.py` 中的两个下划线和init以及最后两个下划线之间有一个空格。那是一种类型还是你的计算机中的那种类型? '因为它不应该有空格__ init.py __是不正确的。__init.py__是。
标签: python flask python-import flask-testing