2016-05-15 42 views
0

我有一个网站,我一直在使用烧瓶写,虽然对于这个问题,我不认为这是相关的。这是我正在使用的文件夹结构。 Rhea是项目名称和父目录。Python,使用变量从__init__在父目录

Rhea 
|- Scripts 
    |-script1.py 
|- Static 
|- Templates 
|- __init__ 

我的问题是我在init中声明了需要在script1.py中使用的变量。我如何将这些导入到script1.py中?

供参考,这是我的初始化文件

import os 
from flask import Flask 
from flask_appconfig import AppConfig 
from flask_bootstrap import Bootstrap 
from flask.ext.sqlachemy import SQLAlchemy 

from .frontend import frontend 
from .nav import nav 
from .models import User 

basedir = os.path.abspath(os.path.dirname(__file__)) 

SQLALCHEMY_DATABASE_URI = 'sqlite:///' + os.path.join(basedir, 'db', 'userdb.db') 
SQLALCHEMY_MIGRATE_REPO = os.path.join(basedir, 'db') 
WTF_CSRF_ENABLED = True 
BOOTSTRAP_SERVE_LOCAL = True 
SECRET_KEY = --SNIP-- 

app = Flask(__name__) 
app.config.from_object(__name__) 

AppConfig(app) 
Bootstrap(app) 
db = SQLAlchemy(app) 
app.register_blueprint(frontend) 
nav.init_app(app) 

app.run(host='0.0.0.0', port=6060, debug=False); 

return app 

我需要的是分贝,SQLALCHEMY_DATABASE_URI变量和SQLALCHEMY_MIGRATE_REPO。

感谢任何帮助。

回答

0

A解决方法是将sys.path附加到Rhea的包父目录。但它很丑。

# cript1.py 
import os 
import sys 

rhea_dir = os.path.dirname(os.path.dirname(os.path.dirname(__file__))) 
sys.path.append(rhea_dir) 

import Rhea 
print Rhea.SQLALCHEMY_DATABASE_URI