FLASK-2
5027 ワード
学習内容
プロジェクト構造 config.py:プロジェクトの全体設定 フラスコapp:アプリケーションフォルダ、独立パッケージのように を管理
アプリケーション構造
Flask-Migrateは、Pythonで変更されたコードによって変更されたデータベース構造、モデルなどを追跡して記録し、データベースに適用します. FLASK APP=フラスコappフラスコdbinit:データベース初期化 FLASK APP=フラスコappフラスコdbmigrate: モデルの作成と変更 FLASK APP=フラスコappフラスコdbupgrade:モデル変更を実際のデータベース に適用する
config
ファイルを個別に作成および設定できます
プロジェクト構造
flask_project
├── config.py
└── flask_app
└── ...
アプリケーション構造
flask_app
├── __init__.py
├── models.py
├── services
│ └── api.py
├── static
│ └── style.css
├── templates
│ └── index.html
└── views
└── user_routes.py
flask SQLAlchemy#__init__.py
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy() #함수 바깥에 db를 생성해야 다른 파일들에서 import 가능
def create_app():
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite+pysqlite:///test.db'
db.init_app(app)
from flask_app import main_routes #함수 내부에서 import 해주어야 circular import 문제가 발생하지않음.
app.register_blueprint(main_routes.bp)
return app
(... 생략 ...)
Flask-MigrateFlask-Migrateは、Pythonで変更されたコードによって変更されたデータベース構造、モデルなどを追跡して記録し、データベースに適用します.
config
ファイルを個別に作成および設定できます
#config.py
class DevelopmentConfig(Config):
DEBUG = True
SQLALCHEMY_DATABASE_URI = 'postgresql+psycopg2://{user}:{pw}@{url}/{db}'.format(
user='',
pw='',
url='',
db=''
)
#__init__.py
#~생략
def create_app():
if app.config["ENV"] == 'production':
#export FLASK_ENV=production 등으로 설정가능
app.config.from_object('config.ProductionConfig')
Reference
この問題について(FLASK-2), 我々は、より多くの情報をここで見つけました https://velog.io/@tjddyd1592/525-FLASK-2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol