2016-05-15 9 views
0

私はFlaskを使用して書いているウェブサイトを持っていますが、この質問では関連性はないと思います。これは私が作業しているフォルダ構造です。 Rheaはプロジェクトの名前と親ディレクトリです。Python、親ディレクトリ内の__init__からの変数を使用

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

私の問題は、私のinitの中でscript1.pyの中で使う必要のある変数を宣言していることです。これらをscript1.pyにどのようにインポートするのですか?

は、参考のために、これは私のinitファイル

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

解決策は、sys.pathRheaのパッケージの親ディレクトリを追加することです。しかし、それは醜いです。

# 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 
関連する問題