[PYTHON] Connectez-vous à MySQL à l'aide de Flask SQL Alchemy

organisation des fichiers

├── api
|   ├── __init__.py
|   ├── database.py
|   ├── views
|   |   └── user.py
│   ├── models
|       └── user.py
├── app.py
└── config.py

Création de fichier

__init__.py


from flask import Flask
from api.database import db
from .views.user import user
import config

def create_app():
  
  app = Flask(__name__)

  #Lire les paramètres de la base de données
  app.config.from_object('config.Config')
  db.init_app(app)
  
  app.register_blueprint(user, url_prefix='/user')

  return app
  
app = create_app()

database.py


from flask_sqlalchemy import SQLAlchemy

db = SQLAlchemy()

def init_db(app):
  db.init_app(app)

app.py


from api import app

if __name__ == '__main__':
  app.run()

config.py


class SystemConfig:
  DEBUG = True

  SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{user}:{password}@{host}/{db-name}?charset=utf8'.format(**{
      'user': 'user',
      'password': 'password',
      'host': 'localhost',
      'db_name': 'sample'
  })

Config = SystemConfig

Créer un modèle

/api/models/user.py


from api.database import db

class User(db.Model):
    __tablename__ = 'users'
    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String)
    
    def searchBy(id):
        return db.session.query(User)\
            .filter(User.id == id)\
            .one()

Créer un routage

/api/views/user.py


from flask import Blueprint
from api.models.user import User

# set route
user = Blueprint('user_router', __name__)

@job.route('/<int:id>', methods=['GET'])
def getUser(id):
    user = User.searchBy(id)
    print(user)

référence

Procédure de démarrage du projet Flask + SQL Alchemy Fonctionnement de la base de données avec VS Code et Flask-SQL Alchemy

Recommended Posts

Connectez-vous à MySQL à l'aide de Flask SQL Alchemy
Connectez-vous à mysql
Connectez-vous au conteneur MySQL de Docker depuis Flask
Connectez python à mysql
Essayez d'utiliser SQLAlchemy + MySQL (partie 2)
Connectez-vous à plusieurs bases de données avec SQL Alchemy
Connectez-vous à MySQL avec Python dans Docker
Scraping à l'aide de lxml et enregistrement sur MySQL
Comment utiliser SQLAlchemy / Connect avec aiomysql
L'histoire de l'abandon d'essayer de se connecter à MySQL en utilisant Heroku
Essayez d'utiliser Blueprint avec Flask pour séparer les contrôleurs
Connectez votre Raspberry Pi à votre smartphone en utilisant Blynk
Connectez-vous à un réseau Bitcoin à l'aide des outils Pybitcoin
Connectez-vous à MySQL avec Python sur Raspberry Pi
Comment lire les définitions de table générées dynamiquement à l'aide de SQL Alchemy
Flacon facile à utiliser
Essayez de créer une API RESTful avec MVC à l'aide de Flask 1.0.2
J'obtiens [Erreur 2055] en essayant de me connecter à MySQL avec Heroku
Connectez-vous au réseau Bitcoin en utilisant pycoin (Python Cryptocoin Utili)
Connectez-vous à KUINS-III (VPN de l'Université de Kyoto) depuis Linux en utilisant PPTP
Générer des définitions de table SQL Alchemy à partir d'un serveur MySQL existant à l'aide de sqlacodegen
Comment rechercher par chaîne pour utiliser les json_contains de mysql dans SQL Alchemy
Connectez-vous à KUINS-III (VPN de l'Université de Kyoto) à partir de Linux en utilisant IKEv2
Jusqu'à ce que l'API créée par Flask + MySQL soit convertie en Docker
Connectez-vous à BigQuery avec Python
Connectez-vous à Wikipedia avec Python
Connectez-vous à Postgresql avec GO
Introduction à RDB avec sqlalchemy Ⅰ
Publier sur Twitter en utilisant Python
Commencez à Selenium en utilisant python
Comment mettre à jour avec SQLAlchemy?
Connectez MySQL de Vagrant à MySQL Workbench
Connectez-vous à sqlite depuis python
React and Flask to GCP
Connectez-vous à la région tokyo de s3
Introduction à discord.py (3) Utilisation de la voix
Comment supprimer avec SQLAlchemy?
Python: Introduction à Flask: création d'une application d'identification de numéro à l'aide de MNIST
Lorsque vous souhaitez envoyer un objet avec des requêtes à l'aide de flask