Ich habe versucht, auf der WEB-Serverseite bei einer internen Python-Lernsitzung zu lernen

Da ich das Programm auf der WEB-Serverseite bei der internen Lernsitzung für Anfänger (3. Mal) vorgestellt habe, habe ich es auch hier beschrieben.

Umgebung: Windows10, Python3.7

Python bietet eine einfache WEB-Serverbibliothek. Sie können den WEB-Server mit nur einem Befehl starten.

Dieses Mal werden wir es mit CGI implementieren, das einfach zu entwickeln ist. CGI ist ein Mechanismus, der Anforderungen von Browsern verarbeitet.

Da der Pfad unter dem vom Befehl ausgegebenen Pfad an der Stelle veröffentlicht wird, die Sie veröffentlichen möchten Führen Sie den folgenden Befehl aus.

>python -m http.server 8888 --cgi

Zum Beispiel d:\work\py_test
Bei Ausführung im obigen Pfad Fügen Sie HTML in d: \ work \ py_test \ ein Platzieren Sie die aufzurufende Python-Datei in d: \ work \ py_test \ cgi-bin .

Im Fall eines Geschäftssystems wird eine Datenbank (im Folgenden als DB bezeichnet) zum Speichern von Daten auf der Serverseite verwendet. Dieses Mal dauert die Vorbereitung der Datenbank einige Zeit, daher habe ich sie implementiert, indem ich die Daten in einer Datei gespeichert habe.

Mit Python können Sie problemlos sowohl Dateioperationen als auch DB-Operationen implementieren. Die Bedienung ist ähnlich Öffnen → verwenden → schließen Es ist ein Verfahren von.

Erstellen Sie die folgende Quelldatei.

↓ In d: \ work \ py_test \ platzieren

file_tesl.html


<html>
	<head><meta http-equiv="content-type" charset="utf-8"></head>
	<body>
Testen von Dateivorgängen
	<br>
	<form action="http://localhost:8888/cgi-bin/cgi_file_test.py" method="get">
	    <div>Name eingeben<input name="name" id="name" value=""></div>
	    <button>Lauf</button>
	</form>
	</body>
</html>

↓ Platzieren Sie in d: \ work \ py_test \ cgi-bin \

cgi_file_test.py


import cgi
import os

#Parameter empfangen
form = cgi.FieldStorage()
str_name = form["name"].value

#In Datei exportieren (Hinzufügungsmodus)
f = open('./data/test.txt','a')
f.write(str_name + "\n")
f.close()

#Aus Datei lesen
read_str = ""
with open('./data/test.txt','r') as f:
    for row in f:
       read_str = read_str +"<br>"+ row.strip()

#Ausgabe in HTML
print ("Content-Type: text/html")
print ()
print ("<html><body>")
print ("Die bisher eingegebenen Namen sind",read_str,"<br>")
print ("<a href=\"../file_test.html\">Rückkehr</a>")
print ("</body></html>")

Geben Sie die folgende URL in den WEB-Browser ein und zeigen Sie sie an, um den Vorgang zu überprüfen.

http://locahost:8888/file_tesl.html

Geben Sie nach der Anzeige im WEB-Browser den Namen ein und drücken Sie "Ausführen". Drücken Sie nach dem Bildschirmübergang "Zurück" und Geben wir den Namen ein.

Sie können sehen, dass es hinzugefügt wird.

Auf diese Weise macht Python nicht nur CGI einfach, sondern macht auch Dateivorgänge super einfach.

Da das Framework im eigentlichen Business-WEB-System verwendet wird, ist das Schreiben eines solchen CGI kein Hobo. Da das WEB-System jedoch leicht zu realisieren ist, sollten Sie verschiedene Dinge ausprobieren.

Recommended Posts

Ich habe versucht, auf der WEB-Serverseite bei einer internen Python-Lernsitzung zu lernen
Lesen Sie "Gewöhnliche Linux-Programmierung" in einer internen Lernsitzung
Ich habe Python zum ersten Mal auf dem Mac ausprobiert.
Ich habe Python zum ersten Mal mit Heroku ausprobiert
Wir haben eine interne Lernsitzung zum Thema Mob-Programmierung mit dem Thema FizzBuzz abgehalten.
Lesen Sie "Gewöhnliche Linux-Programmierung" in einer internen Lernsitzung ~ 10.11 Übungen ~
Test.py wird auf dem Webserver in Python3 nicht angezeigt.
Image Optimize auf der Serverseite mithilfe der Web-API von TinyPNG
Ich habe versucht, das Python-Skript unter Windows 10 von 2.7.11 auf 3.6.0 zu ändern
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, E-Mails vom Sakura-Server mit Flask-Mail zu senden
Ich habe versucht, Sphinx-Dokumente an BitBucket zu senden und sie automatisch auf dem Webserver wiederzugeben
Ermitteln Sie mit Selenium + PhantomJS + Python die Breite des Div auf der Serverseite
[Python] Ich habe versucht, die Nacht der Galaxienbahn mit WordCloud zu visualisieren!
[Python] Ich habe versucht, den kollektiven Typ (Satz) auf leicht verständliche Weise zusammenzufassen.
Ich habe es mit den Top 100 PyPI-Paketen versucht.> Ich habe versucht, die auf Python installierten Pakete grafisch darzustellen
Ein Beispiel für die Antwort auf die Referenzfrage der Studiensitzung. Mit Python.
Ich habe den asynchronen Server von Django 3.0 ausprobiert
Python: Ich habe das Problem des Handlungsreisenden ausprobiert
Fragen, die auf der Studiensitzung im August 2017 geprüft wurden
Veröffentlichen Sie das aktuelle Verzeichnis auf dem Webserver
Ich habe das Python Tornado Testing Framework ausprobiert
[Python] So speichern Sie Bilder mit Beautiful Soup sofort im Web
[IBM Cloud] Ich habe versucht, über Cloud Funtions (Python) auf die Tabelle Db2 on Cloud zuzugreifen.
Ich habe versucht, das Bild mit Python + OpenCV zu "glätten"
Ich habe Web Scraping versucht, um die Texte zu analysieren.
[Python] Ich habe versucht, den Funktionsnamen durch den Funktionsnamen zu ersetzen
Ich habe versucht, Web-Scraping mit Python und Selen
Zeichentipps mit matplotlib auf der Serverseite
Ich habe versucht, "Birthday Paradox" mit Python zu simulieren
Ich habe die Methode der kleinsten Quadrate in Python ausprobiert
Fragen, die während der Studiensitzung im Februar geprüft wurden
Ich habe versucht, PyCaret mit der schnellsten Geschwindigkeit zu verwenden
Ich habe zum ersten Mal versucht, Python zu programmieren.
Ich habe versucht, jupyter nteract auf dem Heroku-Server zu starten
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, das Datetime-Modul von Python zu verwenden
Fragen, die während der Studiensitzung im Mai geprüft wurden
Zum Zeitpunkt des Python-Updates mit Ubuntu
Ich habe versucht, eine E-Mail mit SendGrid + Python zu senden
[Python] Ich werde FTP auf den FTP-Server hochladen.
Ich habe versucht, mit tkinter mit dem Taschenrechner zu spielen
Eine Geschichte über einen Ingenieur, der nur auf der Serverseite kam, erstellte ein Portfolio
[Python3] Machen Sie einen Screenshot einer Webseite auf dem Server und schneiden Sie sie weiter zu
Ein Python-Anfänger versuchte, bei einem IT-Unternehmen zu praktizieren [Tag 3 in die Wolken ...]
[CentOS 7.3] Erstellen Sie einen FTP-Server auf dem ESXi-Host
Ich habe versucht, die in Python installierten Pakete grafisch darzustellen
Ich habe versucht, die App auf der IoT-Plattform "Rimotte" auszuführen.
Ich habe versucht, Mine Sweeper auf dem Terminal mit Python zu implementieren
Ich habe versucht, eine CSV-Datei mit Python zu berühren
Ich habe versucht, Soma Cube mit Python zu lösen
Fortsetzung ・ Ich habe versucht, Slackbot zu erstellen, nachdem ich Python3 studiert habe
Ich habe versucht, künstliches Perzeptron mit Python zu implementieren
[Python] Ich habe versucht, die Top 10 der Lidschatten grafisch darzustellen
Führen Sie einen Befehl auf dem Webserver aus und zeigen Sie das Ergebnis an
[Python] Ich habe versucht, einen lokalen Server mit flask auszuführen
Ich habe versucht, das Problem mit Python Vol.1 zu lösen
Ich habe versucht, die Eingabe für UE4 Python VS Code zu interpolieren