[Python] Webanwendung von 0! Hands-on (3) -API-Implementierung-

Überblick

Ich hatte die Möglichkeit, mit Python eine Web-App von Grund auf neu zu erstellen, also als Zusammenfassung! In diesem Artikel geht es um die Implementierung der API.

Ich möchte, dass diese Person liest

Tor

Ziel ist es, eine Web-App mit CURD-Funktionalität unter Verwendung von HTML, CSS, JavaScript, Python und SQL zu erstellen.

Dinge notwendig

1. Bereiten Sie die Daten in der Datenbank vor

Zunächst werde ich versuchen, über die API eine Verbindung zur Datenbank herzustellen und die Daten abzurufen. Dazu bereiten wir die Testdaten mit pgAdmin vor. Starten Sie pgAdmin4, klicken Sie mit der rechten Maustaste auf TodoDatabase> Schemas> public> Tables> todo und wählen Sie View / Edit Data> All Rows. 2020-07-31_18h33_10.png

Titel: Test created: 2020-07-31 18:39:00 is_deleted: false Geben Sie ein und klicken Sie auf die Schaltfläche Datenänderungen speichern.

2. Versuchen Sie, über die API eine Verbindung zur Datenbank herzustellen

Verwenden Sie den Treiber für PostgreSQL, um eine Verbindung zur Datenbank herzustellen. Es gibt mehrere davon, aber ich werde das wichtigste (am meisten installierte) "psycopg2" verwenden.

Installieren Sie mit dem folgenden Befehl an der Eingabeaufforderung. pip install psycopg2

Schreiben Sie dann index.py wie folgt neu.

index.py


# -*- coding:utf-8 -*-

#Laden Sie ein externes Paket
from bottle import route, run
import psycopg2

#Stellen Sie eine Verbindung zur Datenbank her
def get_connection():
  return psycopg2.connect("host=localhost port=5432 dbname=TodoDatabase user=postgres password=postgres")

#Holen Sie sich Hallo Welt
@route('/hello')
def hello():
  # Hello World!Geben Sie die Zeichenfolge zurück
  return "Hello World!"

#Holen Sie sich Todo-Daten
# @route('/todos')Von, http://localhost:8080/Sie können mit den URL-Aufgaben darauf zugreifen
# with get_connection() as conn:Schließt die Verbindung automatisch, wenn der Bereich endet
@route('/todos')
def getTodos():
  with get_connection() as conn:
    with conn.cursor() as cur:
      #Führen Sie SQL aus
      cur.execute('SELECT * FROM todo')
      #Holen Sie sich 1 Abfrageergebnis in die Datenbank
      data = cur.fetchone()
      #Konvertieren Sie die von DB erfassten Daten in eine Zeichenfolge und geben Sie sie zurück
      return str(data)

#Konfiguration der Webserverausführung
#URL"http://[host]:[port]/[route]"Wird die Zusammensetzung von
run(host='localhost', port=8080, debug=True)

Bewegen wir es vorerst ohne nachzudenken! Drücken Sie wie in Hello World F5 und wählen Sie "Python File", um den Server zu starten. Gehen Sie dann mit Ihrem Browser zu http: // localhost: 8080 / todos. image.png Die aus der Datenbank abgerufenen Daten werden angezeigt!

Zusammenfassung

Wir haben eine API implementiert, die Datenbankdaten anzeigt!

nächstes Mal···

Wenn es so bleibt, wie es ist, ist es schwer zu verstehen, wie die Daten von der API zurückgegeben werden ... richtig? (Ausbildung) Lassen Sie uns die Daten in der Datenbank in das JSON-Format konvertieren, um die Verwendung zu vereinfachen!

Recommended Posts

[Python] Webanwendung von 0! Hands-on (3) -API-Implementierung-
[Python] Webanwendung von 0! Hands-on (2) -Hallo Welt-
[Python] Webanwendung von 0! Hands-on (4) -Datenformung-
[Python] Webanwendung von 0! Hands-on (0) -Umweltbau-
[Python] Webanwendung von 0! Hands-on (1) -Design, DB-Konstruktion-
Python: Lesen von JSON-Daten von der Web-API
Datenerfassung von der Analytics-API mit dem Google API-Client für die Python Part 2-Webanwendung
EXE Web API von Python
Web-API mit Python + Falcon
Webanwendung mit Python + Flask ② ③
Verwenden Sie die e-Stat-API von Python
Webanwendung mit Python + Flask ④
Verwenden Sie die kabu Station® API von Python
Klicken Sie auf die Web-API in Python
Verwenden Sie die Flickr-API von Python
Python Holen Sie sich das kommende Wetter von der Wetter-API
Führen Sie Ansible über Python mithilfe der API aus
Verwenden Sie die Google Analytics-API von Python
Behandeln Sie die SOAP-API von Python (Zeep)
Sammeln von Informationen von Twitter mit Python (Twitter API)
Verwenden Sie die Google Cloud Vision-API von Python
Ich habe versucht, die UnityCloudBuild-API von Python zu verwenden
[Python] Eine schnelle Webanwendung mit Bottle!
[Python] Webanwendungsdesign für maschinelles Lernen
Führen Sie eine Python-Webanwendung mit Docker aus
API-Erklärung zum Berühren von Mastodon aus Python
Stellen Sie von Python aus eine Verbindung zur Websocket-API von coincheck her
Führen Sie Python-Skripte in C # -GUI-Anwendungen aus
So öffnen Sie einen Webbrowser über Python
Vorgehensweise zur Verwendung der WEG-API von TeamGant (mit Python)
SQL zu SQL
Schritte zum Entwickeln einer Webanwendung in Python
[Python] Fluss vom Web-Scraping zur Datenanalyse
MeCab von Python
Explosive Geschwindigkeit mit Python (Flasche)! Web-API-Entwicklung
Holen Sie sich nur Artikel von Webseiten in Python
Versuchen Sie, direkt von Python 3 aus auf die YQL-API zuzugreifen
Extrahieren Sie mit Python Daten von einer Webseite
Trends für das Webanwendungs-Framework 2014 (PHP / Java / Ruby / Python / Perl)
Übersetzen von Visual Studio 2017 nach Python (Microsoft Translator Text API)
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
(Python) Versuchen Sie, eine Webanwendung mit Django zu entwickeln
PUSH-Benachrichtigung von Python an Android mithilfe der Google-API
Holen Sie sich mit Python + Zeep einen Zeitplan von der Garoon SOAP API
Analysieren und visualisieren Sie JSON (Webanwendung ⑤ mit Python + Flask)
Starten Sie mit Docker eine Python-Webanwendung auf Nginx + Gunicorn
Webanwendung erstellt mit Python3.4 + Django (Teil.1 Umgebungskonstruktion)
Treffen Sie Watsons REST-API von Python mit IBM Bluemix
[Python] [Gracenote Web API] Eine kleine Anpassung von Pygn
Verwenden Sie thingspeak aus Python
Berühren Sie MySQL in Python 3
Django Python Web Framework
RNN-Implementierung in Python
Bedienen Sie Filemaker von Python aus
Verwenden Sie fließend Python
ValueObject-Implementierung in Python
Greifen Sie über Python auf Bitcoind zu
Änderungen von Python 3.0 zu Python 3.5