[PYTHON] Stellen Sie mit Flask SQL Alchemy eine Verbindung zu MySQL her

Dateiorganisation

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

Dateierstellung

__init__.py


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

def create_app():
  
  app = Flask(__name__)

  #Lesen Sie die DB-Einstellungen
  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

Modell erstellen

/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()

Routing erstellen

/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)

Referenz

Verfahren zum Starten des Flask + SQL Alchemy-Projekts Datenbankbetrieb mit VS Code und Flask-SQL Alchemy

Recommended Posts

Stellen Sie mit Flask SQL Alchemy eine Verbindung zu MySQL her
Stellen Sie eine Verbindung zu MySQL her
Stellen Sie von Flask aus eine Verbindung zum MySQL-Container von Docker her
Verbinden Sie Python mit MySQL
Versuchen Sie es mit SQLAlchemy + MySQL (Teil 2)
Stellen Sie mit SQL Alchemy eine Verbindung zu mehreren Datenbanken her
Stellen Sie mit Python in Docker eine Verbindung zu MySQL her
Scraping mit lxml und Speichern in MySQL
Verwendung von SQLAlchemy / Connect mit aiomysql
Die Geschichte, den Versuch aufzugeben, mit Heroku eine Verbindung zu MySQL herzustellen
Versuchen Sie, Blueprint with Flask zu verwenden, um Controller zu trennen
Verbinden Sie Ihren Raspberry Pi mit Blynk mit Ihrem Smartphone
Stellen Sie mit Pybitcoin-Tools eine Verbindung zu einem Bitcoin-Netzwerk her
Stellen Sie mit Python auf Raspberry Pi eine Verbindung zu MySQL her
Lesen dynamisch generierter Tabellendefinitionen mit SQL Alchemy
Einfach zu bedienende Flasche
Versuchen Sie, mit MVC eine RESTful-API mit Flask 1.0.2 zu erstellen
Ich erhalte [Fehler 2055], wenn ich versuche, mit Heroku eine Verbindung zu MySQL herzustellen
Stellen Sie mit Pycoin (Python Cryptocoin Utili) eine Verbindung zum Bitcoin-Netzwerk her.
Stellen Sie über PPTP eine Verbindung zu KUINS-III (Kyoto University VPN) von Linux her
Generieren Sie mithilfe von sqlacodegen SQL Alchemy-Tabellendefinitionen von einem vorhandenen MySQL-Server
So suchen Sie nach einer Zeichenfolge, um json_contains von mysql in SQL Alchemy zu verwenden
Stellen Sie mit IKEv2 eine Verbindung zu KUINS-III (VPN der Universität Kyoto) von Linux her
Bis die von Flask + MySQL erstellte API in Docker konvertiert wird
Stellen Sie mit Python eine Verbindung zu BigQuery her
Stellen Sie mit Python eine Verbindung zu Wikipedia her
Stellen Sie mit GO eine Verbindung zu Postgresql her
Einführung in RDB mit sqlalchemy Ⅰ
Mit Python auf Twitter posten
Starten Sie mit Python zu Selen
Wie aktualisiere ich mit SQLAlchemy?
Verbinden Sie MySQL von Vagrant mit MySQL Workbench
Stellen Sie von Python aus eine Verbindung zu SQLite her
Reagieren und Kolben zu GCP
Stellen Sie eine Verbindung zur Tokio-Region von s3 her
Einführung in discord.py (3) Verwenden von Stimme
Wie lösche ich mit SQLAlchemy?
Python: Einführung in Flask: Erstellen einer Nummernidentifizierungs-App mit MNIST
Wenn Sie ein Objekt mit Anforderungen mithilfe der Flasche senden möchten