1
私は既にFlaskで開発された新しいプロジェクトに取り組んでいます。私はFlaskの知識は持っていません。私の会社は私にDjangoの経験があるので私にプロジェクトを与えました。フラスコの最初の移動を行う方法は?
これは、プロジェクトの構造である:
models
-db.py
-model1.py
-model2.py
- ..
static
- ..
templates
- ..
myapp.py
myapp.py
は、ホーム・ページのように他のすべての機能を備えたすべての設定ファイルとサーバーの初期化コードが含まれており、ページをサインアップしてください。
myapp.py
を実行すると、正常に実行されますが、テーブルは自動的に作成されません(最初の移行が完了していることがわかりました)。私はそれをどうやって行うのか分かりません。
このプロジェクトでは、postgresqlとSQLAlchemyという形式のflask_sqlalchemyモジュールを使用しています。
db.py
ファイル:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
from db import db
myapp
ファイル:
# ===================================================================
# SQL ALCHEMY
# ===================================================================
if (SERVER_MODE == RUN_MODE.PRODUCTION):
app.config['SQLALCHEMY_DATABASE_URI'] = (
os.environ["DATABASE_URL"]
)
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = False
else:
app.config['SQLALCHEMY_DATABASE_URI'] = (
'postgresql://' +
'creathiveswebapp:creathives' +
'@' +
'localhost/cl_creathives_pgdb'
)
app.config['SQLALCHEMY_ECHO'] = False
app.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True
db.init_app(app)
と
...
# ===================================================================
# START SERVER
# ===================================================================
if __name__ == "__main__":
port = int(os.environ.get('PORT', 5000))
if (SERVER_MODE == RUN_MODE.PRODUCTION):
# TODO: Turn off debug
app.run(host='0.0.0.0', port=port, debug=True)
else:
app.run(host='0.0.0.0')
最初の移行を行ってテーブルを作成する方法
python manage.py db migrate
およびデータベースの移行設定のため、このような何か試してみてください:このコマンド
こんにちはPrakhar答えてくれてありがとう。私はコードを実装しましたが、 "python manage.py db migrate"を実行すると "File" migrations/env.py "23行目が target_metadata = current_app.extensions ['migrate']になります。db.metadata AttributeError: 'module'オブジェクトには属性 'metadata'がありません。 –