国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Inhaltsverzeichnis
Flask -Erweiterungen
Routen.py
, das URLs auf Funktionen ordnet. Lassen Sie es uns nicht mit nicht verwandtem Code überladen. Erstellen Sie stattdessen eine neue Datei namens
, wir werden die Dankesnachricht anzeigen. Andernfalls werden wir das Kontaktformular anzeigen. Erfolg %}
Heim Backend-Entwicklung Python-Tutorial Intro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen

Intro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen

Feb 28, 2025 am 10:03 AM

In dem vorherigen Artikel in dieser Mini-Serie haben wir einen Flask verwendet, um eine einfache Website zu erstellen, die "Home" und "über" Seiten mit einem verallgemeinerten Workflow enth?lt, den wir für andere in Flaskbasis basierende Web-Apps bewerben k?nnen. In dieser Lektion werde ich zeigen, wie Sie eine Kontaktseite hinzufügen, auf der Benutzer Ihnen Nachrichten senden k?nnen.

Der in diesem Artikel verwendete Code finden Sie in GitHub.?


Flask -Erweiterungen

Flask wird nicht mit vielen Funktionen aus dem Regal geliefert, was es einfach macht, abzuholen und zu lernen. Es gibt keinen Objekt-Relations-Mapper für die Datenbankinteraktion oder die Admin-Schnittstellen zum Hinzufügen und Aktualisieren von Inhalten. Es bietet nur eine kleine Reihe von Funktionen, von denen wir bereits verwendet haben - render_template () . Eine Flask -Erweiterung ist ein Paket, das Ihrer App spezifische Funktionen hinzufügt. Zum Beispiel fügt Flask-SQLalchemy Ihrer App Datenbankunterstützung hinzu, w?hrend Flask-Login Anmeldung/Abmeldeunterstützung hinzufügt. Sie finden eine vollst?ndige Liste von Erweiterungen in der Registrierung von Flask-Erweiterung. Was bedeutet das? Schauen Sie sich das folgende Diagramm an:

Ein Benutzer gibt eine GET -Anforderung für eine Webseite aus, die ein Formular enth?lt.


Der Benutzer füllt das Formular aus. Felder validieren nicht, die Webseite, die das Formular enth?lt, l?dt erneut mit einer hilfreichen Fehlermeldung und fordert den Benutzer erneut aus. In Flask ver?ffentlichen wir das Formular für eine Funktion in

Routen.py

. Diese Funktion wird als Form -Handler bezeichnet. Wir werden ein paar Validierungsüberprüfungen ausführen. Wenn eine der Eingaben nicht übertroffen wird, aktualisieren wir die Seite, um eine Nachricht anzuzeigen, die den Fehler beschreibt. Sobald alle Validierungsüberprüfungen bestanden haben, verwenden wir die Formulardaten für den n?chsten Schritt: E -Mail an Sie, den Website -Eigentümer an Sie. Wo definieren wir jetzt die Form? Wir k?nnten HTML mit dem Aktion

zu einem Python -Skript schreiben. Das Python -Skript spiegelt das Formular wider, um jedes Formularfeld zu erfassen und die Formularfelddaten zu validieren. Wenn wir diese Strategie jedoch anwenden, würden wir das Formular im Wesentlichen zweimal definieren-gleichzeitig für das Front-End und einmal für das Back-End.

Es w?re gro?artig, die Form nur einmal zu definieren: im Python -Skript. Genau das erm?glicht uns Flask-WTF. Wir werden das Formular nur einmal in einem Python-Skript definieren, und dann lassen wir Flask-wtf das HTML des Formulars für uns generieren. Der Sinn von all dem besteht darin, die Darstellung von Inhalten zu trennen.

Genug Chatter. Lassen Sie uns einen Formular codieren. Wir haben bereits

Routen.py

, das URLs auf Funktionen ordnet. Lassen Sie es uns nicht mit nicht verwandtem Code überladen. Erstellen Sie stattdessen eine neue Datei namens

forms.py

und platzieren Sie sie in den Ordner

app/
$ cd flaskapp<br>$ . bin/activate<br>
. Was haben wir gemacht? Zun?chst haben wir einige nützliche Klassen aus dem Flask-wtf contactForm

importiert und aus dem & lt; Eingabe type = "text" & gt; name & lt;/input & gt;

In einer HTML-Datei schreiben, schreiben Sie am Anfang deses aus Formularen ContactForm
pip install -U Flask-WTF<br>
Skript.

app/Routes.py Konfigurieren Sie als N?chstes, um einen Sicherheitsnutzung zu verarbeiten, der als CSRF (Cross-Site-Anforderungswesen) bezeichnet wird. In einer perfekten Welt verarbeitet Ihr Server nur Formulare, die zu Ihrer Web -App geh?ren. Mit anderen Worten, Ihr Server würde die von Ihnen erstellten Formulare nur behandeln und validieren. Ein Angreifer ist jedoch m?glich, ein Formular auf einer eigenen Website zu erstellen, es mit b?swilligen Informationen auszufüllen und an Ihren Server zu senden. Wenn Ihr Server diese b?swilligen Informationen akzeptiert, k?nnen alle m?glichen schlechten Dinge als n?chstes passieren. Eine M?glichkeit, dies zu tun, besteht darin, eine eindeutige Token in Ihrem HTML /Contact

zu versteckt. Die Funktion contact ()

erstellen wir zun?chst eine neue Instanz unseres Kontaktformulars in Zeile drei und senden sie an eine Webvorlage mit dem Namen contact.html in Zeile vier. Wir werden diese Webvorlage in Kürze erstellen.

from flask_wtf import FlaskForm<br>from wtforms import StringField, TextAreaField, SubmitField<br><br><br><br>class ContactForm(FlaskForm):<br>  name = StringField("Name")<br>  email = StringField("Email")<br>  subject = StringField("Subject")<br>  message = TextAreaField("Message")<br>  submit = SubmitField("Send") <br>
Wir haben jedoch noch einige Arbeiten hier. Das obige Diagramm zeigte, dass die Webseite mit dem Formular abgerufen und im Browser geladen werden sollte, wenn eine GET -Anforderung an den Server gesendet wird. Wenn der Server eine Postanforderung erh?lt, sollte eine Funktion die Formularfelddaten erfassen und prüfen, ob sie gültig sind. In Python -Begriffen kann diese Logik in einem if ... sonst

Logik in die render_template () im vorherigen Artikel ausgedrückt werden. Hier importieren wir hier eine weitere Flask -Klasse mit dem Namen Anfrage , ob die aktuelle HTTP -Methode ein GET oder ein Post ist. Als n?chstes kommt die Funktion contact () (Zeilen 9-13).

Diese Zeichenfolge ist ein tempor?rer Platzhalter, und wir werden ihn im letzten Schritt dieses Artikels durch echten Code ersetzen. Andernfalls geben wir die Webvorlage contact.html zurück, die das Formular enth?lt.

Der n?chste Schritt besteht Ordner. sein eigener Text. Wir geben zun?chst an, wo die Formulardaten zur Einreichung gesendet werden sollen, indem die Aktion Attribut an /Kontakt auf die Funktion contact () abgebildet wird, wobei eine Variable namens ContactForm an die Webvorlage gesendet wird

contact.html

. Html. Taste. Die Postanforderungshits

Routes.py
$ cd flaskapp<br>$ . bin/activate<br>
, wobei der URL -Ansatz ()

. Aber was passiert, wenn der Benutzer das Formular nicht richtig ausfüllt? Wir müssen die Benutzereingabe validieren, damit sie in sp?teren Schritten keine Probleme verursachen. Glücklicherweise wird Flask-WTF mit vielen nützlichen, eingebauten Validatoren ausgestattet, die wir sofort verwenden k?nnen. Wir werden diese Validatoren in den integrierten Validator von Datarequired von [validators = datarequired ()] in jedes Formularfeld einfügen, um das Vorhandensein zu validieren. Beachten Sie, dass sich dieser Validator in einer Python -Liste befindet, was bedeutet, dass wir dieser Liste problemlos mehr Validatoren hinzufügen k?nnen. Folgt: Dies für unsere Formularvalidierung. Diese Fehlermeldung darf nur angezeigt werden, wenn die Validierung fehlschl?gt und verschwindet, wenn der Fehler behoben wurde. Flask macht dies wirklich einfach, indem er die Funktion von Flash () am Anfang des Skripts verwendet. App/Routes

$ cd flaskapp<br>$ . bin/activate<br>

Nach dem Kontaktformular zum Server sollte jeder Validierungsfehler das Formular mit einer hilfreichen Fehlermeldung neu laden. Andernfalls k?nnen die Eingabedaten für die zukünftige Verarbeitung verwendet werden. Noch einmal kann diese Logik in einem if ... else logik zum if request.method == 'post': block ausgedrückt werden. Das Fehlermeldungsformular wurde

ver?ffentlicht, das angibt, dass das Formular erfolgreich eingereicht wurde. Siehe den folgenden Block:

Die Funktion für

Schleife. Fügen Sie diesen Codeblock zu
pip install -U Flask-WTF<br>
contact.html

nach & lt; Form & gt; Tag hinzu. Prettus. Hinterlassen Sie alle Felder leer und klicken Sie auf senden

, um zu testen, ob die Form der Formularvalidierung und Fehlermeldung das Blinken funktioniert.

Dies ist sü?! Wir haben eine Fehlermeldung erfolgreich an unser Kontaktformular gesendet, wenn eine Validierungsprüfung fehlschl?gt. Wir k?nnen tats?chlich ein bisschen besser machen. Anstatt eine generische Fehlermeldung für alle fehlgeschlagenen Validierungsprüfungen zu haben, ist es besser, eine bestimmte Fehlermeldung für jede fehlgeschlagene Validierungsprüfung zu erhalten. Wenn der Benutzer beispielsweise vergisst, das Fachfeld auszufüllen, geben Sie eine bestimmte Fehlermeldung mit, die besagt, dass Sie Ihren Namen

eingeben. Wir k?nnen dies ziemlich einfach erreichen. Beginnen wir damit, unsere spezifischen Fehlermeldungen in jedem Validator in
from flask_wtf import FlaskForm<br>from wtforms import StringField, TextAreaField, SubmitField<br><br><br><br>class ContactForm(FlaskForm):<br>  name = StringField("Name")<br>  email = StringField("Email")<br>  subject = StringField("Subject")<br>  message = TextAreaField("Message")<br>  submit = SubmitField("Send") <br>
forms.py

zu schreiben. Lassen Sie uns als n?chstes contact.html ?ndern, um diese spezifischen Fehlermeldungen zu empfangen und anzuzeigen. Früher haben wir uns auf das Funktionsfehler für jedes Formularfeld angewiesen, um die spezifischen Fehlermeldungen mithilfe der Jinja2 -Meldung und der Nachricht

über sie zu schleifen, um eine neue E -Mail zu komponieren, und die mail

Variable enth?lt eine verwendbare Instanz der App. 17).

Sie haben wahrscheinlich Gruppen gesehen, wie sie Kontakt -E -Mail -Adressen wie support@example.com verwenden. Wenn Sie Ihre eigene Domain besitzen und eine neue Kontakt -E -Mail -Adresse erstellen k?nnen, geben Sie diese E -Mail -Adresse an, wenn request.method == 'Beitrag': Block erneut. Wir haben bereits Logik im Formular hinzugefügt. Lassen Sie uns daher in der Meldung eine Subjektzeile, eine "From" -Ade und eine "bis" -Anadresse eine Logik hinzufügen. Anschlie?end sammeln wir die Felddaten des Kontaktformulars mit app.config ["mail_username"] , also haben wir hier für die From -Adresse verwendet. Die E-Mail wird an Ihre pers?nliche E-Mail-Adresse gesendet, damit Sie neue Nachrichten empfangen und antworten k?nnen. Wir fügen den Namen, die E -Mail und die Nachricht des Benutzers hinzu. Ich verwende Pythons String -Formatierungsbetreiber Mail.send (msg) , um die E -Mail zu senden (Zeile 15).

sehen, ob alles funktioniert. Besuchen Sie http: // localhost: 5000/contact, füllen Sie jedes Feld aus und klicken Sie auf "Senden". Wenn alles gut geht, erhalten Sie eine neue E -Mail aus Ihrer Flask -App.

contact.html .

Wir platzieren die wahre

, wir werden die Dankesnachricht anzeigen. Andernfalls werden wir das Kontaktformular anzeigen. Erfolg %}

bedeutet, dass, wenn das Erfolgsflag von

Routes.py auf & lt; p & gt; danke für Ihre Nachricht gesendet wird. Wir werden uns in Kürze bei Ihnen melden. & Lt;/p & gt;

. Ansonsten folgen Sie der Anweisung if ... else
mit & lt; Header & gt;

Element. Tun wir dies auch für die Kontaktseite (Zeile acht). Wir haben unserer Flask -App eine Kontaktseite mit einem Formular hinzugefügt. Formulare erscheinen an mehreren Stellen in Webanwendungen, insbesondere w?hrend der Anmeldung und Anmeldung. Dieser Workflow kann angepasst werden, um diese Bedürfnisse zu erfüllen. Beim Erstellen einer Kontaktseite haben wir gelernt, wie man Kolbenverl?ngerungen verwendet.

Schauen Sie sich die Registrierung zur Erweiterung der Flasche an, um viele weitere Erweiterungen zu untersuchen, die Sie in Ihre App integrieren k?nnen.

Das obige ist der detaillierte Inhalt vonIntro zu Flask: Hinzufügen einer Kontaktseite Hinzufügen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erkl?rung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hei?e KI -Werkzeuge

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?e Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Hei?e Themen

PHP-Tutorial
1502
276
Wie man mit der API -Authentifizierung in Python umgeht Wie man mit der API -Authentifizierung in Python umgeht Jul 13, 2025 am 02:22 AM

Der Schlüssel zum Umgang mit der API -Authentifizierung besteht darin, die Authentifizierungsmethode korrekt zu verstehen und zu verwenden. 1. Apikey ist die einfachste Authentifizierungsmethode, die normalerweise in den Anforderungsheader- oder URL -Parametern platziert ist. 2. BasicAuth verwendet Benutzername und Kennwort für die Basis64 -Codierungsübertragung, die für interne Systeme geeignet ist. 3.. OAuth2 muss das Token zuerst über Client_id und Client_secret erhalten und dann das BearerToken in den Anforderungsheader bringen. V. Kurz gesagt, die Auswahl der entsprechenden Methode gem?? dem Dokument und das sichere Speichern der Schlüsselinformationen ist der Schlüssel.

Erkl?ren Sie Python -Behauptungen. Erkl?ren Sie Python -Behauptungen. Jul 07, 2025 am 12:14 AM

Assert ist ein Inssertion -Tool, das in Python zum Debuggen verwendet wird, und wirft einen Assertionerror aus, wenn der Zustand nicht erfüllt ist. Die Syntax ist eine geltende Bedingung sowie optionale Fehlerinformationen, die für die interne Logiküberprüfung geeignet sind, z. B. Parameterprüfung, Statusbest?tigung usw., k?nnen jedoch nicht für die Sicherheits- oder Benutzereingabeprüfung verwendet werden und sollten in Verbindung mit klaren Eingabeaufforderungen verwendet werden. Es ist nur zum Hilfsdebuggen in der Entwicklungsphase verfügbar, anstatt die Ausnahmebehandlung zu ersetzen.

Was sind Python -Typ -Hinweise? Was sind Python -Typ -Hinweise? Jul 07, 2025 am 02:55 AM

TypHintsinpythonsolvetheProblemofAmbiguityAndpotentialbugsindynamicalpedCodeByAllowingDevelopstospecifyexpectypes

Wie man über zwei Listen gleichzeitig python iteriert Wie man über zwei Listen gleichzeitig python iteriert Jul 09, 2025 am 01:13 AM

Eine gemeinsame Methode, um zwei Listen gleichzeitig in Python zu durchqueren, besteht darin, die Funktion ZIP () zu verwenden, die mehrere Listen in der Reihenfolge und die kürzeste ist. Wenn die Listenl?nge inkonsistent ist, k?nnen Sie iTertools.zip_longest () verwenden, um die l?ngste zu sein und die fehlenden Werte auszufüllen. In Kombination mit Enumerate () k?nnen Sie den Index gleichzeitig erhalten. 1.zip () ist pr?gnant und praktisch, geeignet für die Iteration gepaarte Daten; 2.zip_longest () kann den Standardwert beim Umgang mit inkonsistenten L?ngen einfüllen. 3.Enumerate (ZIP ()) kann w?hrend des Durchlaufens Indizes erhalten und die Bedürfnisse einer Vielzahl komplexer Szenarien erfüllen.

Was sind Python -Iteratoren? Was sind Python -Iteratoren? Jul 08, 2025 am 02:56 AM

INPYTHON, ITERATORATORSAROBJECTSHATALWOULOUPING ThroughCollections Byimplementing__iter __ () und __Next __ (). 1) IteratorsworkviATheiterProtocol, verwendete __iter __ () toreturn thiteratorand__Next __ () torethentexteemtemuntemuntilstoperationSaised.2) und

Python Fastapi Tutorial Python Fastapi Tutorial Jul 12, 2025 am 02:42 AM

Um moderne und effiziente APIs mit Python zu schaffen, wird Fastapi empfohlen. Es basiert auf Eingabeaufforderungen an Standardpython -Typ und kann automatisch Dokumente mit ausgezeichneter Leistung generieren. Nach der Installation von Fastapi und ASGI Server Uvicorn k?nnen Sie Schnittstellencode schreiben. Durch das Definieren von Routen, das Schreiben von Verarbeitungsfunktionen und die Rückgabe von Daten kann schnell APIs erstellt werden. Fastapi unterstützt eine Vielzahl von HTTP -Methoden und bietet automatisch generierte Swaggerui- und Redoc -Dokumentationssysteme. URL -Parameter k?nnen durch Pfaddefinition erfasst werden, w?hrend Abfrageparameter durch Einstellen von Standardwerten für Funktionsparameter implementiert werden k?nnen. Der rationale Einsatz pydantischer Modelle kann dazu beitragen, die Entwicklungseffizienz und Genauigkeit zu verbessern.

Wie man eine API mit Python testet Wie man eine API mit Python testet Jul 12, 2025 am 02:47 AM

Um die API zu testen, müssen Sie Pythons Anfragebibliothek verwenden. In den Schritten werden die Bibliothek installiert, Anfragen gesendet, Antworten überprüfen, Zeitüberschreitungen festlegen und erneut werden. Installieren Sie zun?chst die Bibliothek über PipinstallRequests. Verwenden Sie dann Requests.get () oder Requests.Post () und andere Methoden zum Senden von GET- oder Post -Anfragen. überprüfen Sie dann die Antwort. Fügen Sie schlie?lich Zeitüberschreitungsparameter hinzu, um die Zeitüberschreitungszeit festzulegen, und kombinieren Sie die Wiederholungsbibliothek, um eine automatische Wiederholung zu erreichen, um die Stabilit?t zu verbessern.

Python variabler Umfang in Funktionen Python variabler Umfang in Funktionen Jul 12, 2025 am 02:49 AM

In Python sind Variablen, die in einer Funktion definiert sind, lokale Variablen und sind nur innerhalb der Funktion gültig. Extern definiert sind globale Variablen, die überall gelesen werden k?nnen. 1. lokale Variablen werden zerst?rt, wenn die Funktion ausgeführt wird. 2. Die Funktion kann auf globale Variablen zugreifen, kann jedoch nicht direkt ge?ndert werden, sodass das globale Schlüsselwort erforderlich ist. 3. Wenn Sie die ?u?eren Funktionsvariablen in verschachtelten Funktionen ?ndern m?chten, müssen Sie das nichtlokale Schlüsselwort verwenden. 4.. Variablen mit demselben Namen beeinflussen sich in verschiedenen Bereichen nicht gegenseitig; 5. Global muss bei der Modifizierung globaler Variablen deklariert werden, ansonsten werden ungebundener Fehler aufgeworfen. Das Verst?ndnis dieser Regeln hilft bei der Vermeidung von Fehler und zum Schreiben zuverl?ssigerer Funktionen.

See all articles