J'ai eu l'opportunité de créer une application web à partir de zéro avec Python, donc en résumé! Cet article concerne la mise en œuvre de l'API.
L'objectif est de créer une application Web avec la fonctionnalité CURD en utilisant HTML, CSS, JavaScript, Python et SQL.
Tout d'abord, je vais essayer de me connecter à la base de données à partir de l'API et d'obtenir les données. Pour cela, préparons les données de test avec pgAdmin. Démarrez pgAdmin4, cliquez avec le bouton droit sur TodoDatabase> Schémas> public> Tables> todo et sélectionnez Afficher / Modifier les données> Toutes les lignes.
titre: Test created: 2020-07-31 18:39:00 is_deleted: false Entrez et appuyez sur le bouton Enregistrer les modifications de données.
Utilisez le pilote pour PostgreSQL pour vous connecter à la base de données. Il y en a plusieurs, mais j'utiliserai le plus important (le plus installé) "psycopg2".
Installez avec la commande suivante à partir de l'invite de commande.
pip install psycopg2
Réécrivez ensuite index.py comme suit.
index.py
# -*- coding:utf-8 -*-
#Charger un package externe
from bottle import route, run
import psycopg2
#Obtenez une connexion à la base de données
def get_connection():
return psycopg2.connect("host=localhost port=5432 dbname=TodoDatabase user=postgres password=postgres")
#Obtenez Hello World
@route('/hello')
def hello():
# Hello World!Renvoie la chaîne de caractères
return "Hello World!"
#Obtenir les données Todo
# @route('/todos')Par, http://localhost:8080/Vous pouvez y accéder avec les todos URL
# with get_connection() as conn:Ferme automatiquement la connexion à la fin de la portée
@route('/todos')
def getTodos():
with get_connection() as conn:
with conn.cursor() as cur:
#Exécuter SQL
cur.execute('SELECT * FROM todo')
#Obtenir 1 résultat de requête dans la base de données
data = cur.fetchone()
#Convertissez les données acquises à partir de la base de données en une chaîne de caractères et renvoyez-la
return str(data)
#Configuration de l'exécution du serveur Web
#URL"http://[host]:[port]/[route]"Devient la composition de
run(host='localhost', port=8080, debug=True)
Déplaçons-le sans réfléchir pour le moment! Appuyez sur F5 comme vous l'avez fait dans Hello World et sélectionnez "Fichier Python" pour démarrer le serveur. Accédez ensuite à http: // localhost: 8080 / todos avec votre navigateur. Les données extraites de la base de données s'affichent!
Nous avons implémenté une API qui affiche les données de la base de données!
Si elle est laissée telle quelle, il est difficile de comprendre comment les données seront renvoyées par l'API ... n'est-ce pas? (Entraînement) Convertissons les données de la base de données au format json pour en faciliter l'utilisation!
Recommended Posts