前提
これまでLaravelをメインに開発をしていました.
最近Pythonの勉強を始め,Flaskを使ってアプリを作成しています.
しかし,DB(PostgreSQL)とどのように接続しデータを取得すればよいのか分からなくて困っています.
主に下記のサイトを参考にしてみたのですが,いまいち理解できていません.
Qiita 参考サイト
試したこと
上記のサイトを参考にconfig.pyでDB接続の設定を記述し,database.pyで初期化をしています.
config
1import os 2 3 4class DevelopmentConfig: 5 6 DEBUG = True 7 8 SQLALCHEMY_DATABASE_URI = 'postgresql://{user}:{password}@{host}/football_analitics?charset=utf8'.format(**{ 9 'user': os.getenv('DB_USER', 'root'), 10 'password': os.getenv('DB_PASSWORD', 'root'), 11 'host': os.getenv('DB_HOST', 'localhost'), 12 }) 13 SQLALCHEMY_TRACK_MODIFICATIONS = False 14 SQLALCHEMY_ECHO = False 15 16 17Config = DevelopmentConfig
database
1from flask_sqlalchemy import SQLAlchemy 2 3 4db = SQLAlchemy() 5 6 7def init_db(app): 8 db.init_app(app)
実現したいこと
基本的にrun.pyからapis内のファイルのメソッドを呼び出したいです.
apisの中にあるteam.pyというファイルからMVCでいうControllerのような処理を行う場合,
selectで全件データを取得するにはどのように記述すればよいでしょうか?
run
1from flask import Flask, jsonify 2from apis.team import Team 3 4 5app = Flask(__name__) 6 7@app.route('/api/hello', methods=['GET']) 8def hello_world(): 9 return jsonify({'status': '200', 'data': 'Hello World!!'}) 10 11@app.route('/api/teams', methods=['GET']) 12def get_teams(): 13 team = Team() 14 data = team.get_teams() 15 return jsonify({'status': '200', 'data': data}) 16 17 18if __name__ == '__main__': 19 app.run(host="0.0.0.0", port=5000, debug=True)
. ├── __init__.py ├── apis │ ├── __pycache__ │ └── team.py ├── config.py ├── database.py ├── requirements.txt ├── run.py └── uwsgi.ini
どなたかご教授いただけたら幸いです.
よろしくお願いいたします.
回答1件
あなたの回答
tips
プレビュー