2013-07-30 1 views
2

저는 Flask와 SQLAlchemy를 사용하여 파이썬에서 웹 사이트를 만들고 있습니다. 지금까지 재미있었습니다.Flask-SQLAlchemy에서 데이터베이스 개체를 초기화하고 저장하려면?

그러나 나는 확실하지 않습니다. 다음 코드는 데이터베이스에 연결하는 데 사용됩니다.

app = Flask(__name__) 
app.config['SQLALCHEMY_DATABASE_URI'] = 'bla' 
db = SQLAlchemy(app) 

어떻게하면 다른 파일에서이 개체를 재사용 할 수 있습니까? g에 저장하려고 시도했지만 웹 요청 범위 밖에있는 데이터베이스를 사용하려고하면 데이터베이스 모델에 문제가 발생합니다. 여러 파일/클래스에서 db에 액세스 할 수있는 표준 방법이 있습니까?

답변

1

프로젝트 폴더 아래의 __init__.py 파일에 넣습니다. 이렇게하면 응용 프로그램이 패키지가되고 변수를 다시 사용할 수 있습니다. 프로젝트가 MyProject를 호출하는 경우 예를 들어, 다음과 같은 models.py 같은 모듈, 이제

myproject/ 
    __init__.py 
    models.py 
    views.py 

을 가질 수있다, 당신은 다만 할 수 있습니다

from myproject import db 
+0

이 ImportError를'결과 : 아니오 모듈을 myproject'라고합니다. "myproject"는 단순히 프로젝트가 포함 된 폴더의 이름입니까? 아니면 내가 이런 식으로 사용할 수 있기 전에 구성해야하는 것입니까? –

+0

'myproject'는 그 예입니다. 프로젝트에있는 폴더 이름을 사용하십시오. 예, 프로젝트가 포함 된 폴더의 이름입니다. 나는 파이썬에서 패키지에 대해 조금 읽어야한다고 생각한다. 왜'__init __. py '가 사용되는지 이해하는 데 도움이 될 것입니다. – codegeek

+0

아하, 이제 알겠습니다. 그것은 완벽하게 작동합니다! –