Der Inhalt dieses Artikels befasst sich mit der Flaschenanwendung (Formularverarbeitung) in Python. Ich hoffe, dass er für Freunde hilfreich ist.
1. Warum Flask-WTF verwenden?
Das Anforderungsobjekt stellt alle vom Client gesendeten Anforderungsinformationen bereit. request.form hat insbesondere Zugriff auf Formulardaten, die durch POST-Anfragen übermittelt werden.
Obwohl die Unterstützung durch das Anfrageobjekt von Flask für die Handhabung von Webformularen ausreichend ist, gibt es immer noch viele Aufgaben, die monoton und repetitiv werden.
Die Generierung von Formular-HTML-Code und die Validierung übermittelter Formulardaten sind zwei gute Beispiele.
Vorteile:
Die Flask-WTF-Erweiterung macht die Verarbeitung von Webformularen zu einem angenehmeren Erlebnis. Bei dieser Erweiterung handelt es sich um eine Flask-Integration, die das Framework-unabhängige WTForms-Paket umschließt.
2. Was ist Formularverarbeitung?
Auf einer Webseite müssen immer einige Formulare erscheinen, um mit Benutzern zu interagieren, um Informationen zu erhalten.
Flask hat die WTForm-Formularbibliothek entwickelt, um Flask die Verwaltung und Bedienung von Formulardaten zu erleichtern.
Die wichtigsten Konzepte in WTForm sind wie folgt:
1). Form-Klasse, vom Entwickler definierte Formulare müssen von der Form-Klasse oder ihren Unterklassen erben.
Die Hauptfunktion der Form-Klasse besteht darin, über die darin enthaltene Field-Klasse einen schnellen Zugriff auf Daten im Formular zu ermöglichen.
2). Verschiedene Feldklassen, nämlich Felder. Im Allgemeinen entspricht jede Field-Klasse einem Eingabe-HTML-Tag.
Zum Beispiel entsprechen einige der Field-Klassen, die mit WTForm geliefert werden, wie etwa BooleanField, ,
SubmitField entspricht , usw.
3). Diese Klasse wird verwendet, um die Gültigkeit der vom Benutzer eingegebenen Daten zu überprüfen.
Zum Beispiel kann der Längenvalidator verwendet werden, um die Länge von Eingabedaten zu überprüfen,
FileAllowed überprüft den Typ der hochgeladenen Dateien usw.
Um CSFR-Angriffe (Cross-Site Request Forgery) zu verhindern, erfordert Flask außerdem, dass die App vor der Verwendung von Flask-wtf standardmäßig den geheimen Schlüssel festlegt. Die einfachste Möglichkeit zur Konfiguration ist app.config['SECRET_KEY'] = 'xxxx'.
3. Gemeinsame Feldklassen
PasswordField Passwortfeld, wandelt Eingaben automatisch in kleine schwarze Punkte um
DateField Textfeld, die Formatanforderung ist datetime . Datum ist das gleiche
IntergerField-Textfeld, die Formatanforderung ist eine Ganzzahl
DecimalField-Textfeld, die Formatanforderung ist dieselbe wie decimal.Decimal
FloatField-Textfeld, Der Wert ist eine Gleitkommazahl
BooleanField Kontrollkästchen, der Wert ist wahr oder falsch
RadioField Eine Reihe von Optionsfeldern
SelectField Dropdown-Liste, das sollte es sein Beachten Sie, dass der Parameter „Choices“ die Dropdown-Optionen bestimmt, sich jedoch vom
MultipleSelectField Eine Dropdown-Liste mit mehreren verfügbaren Werten
Validator-Verifizierungsfunktion
Validator ist eine Verifizierungsfunktion, die ein Feld an ein Feld bindet Verifizierungsfunktion Anschließend führt Flask eine Verifizierung der Daten durch, bevor die Daten im Formular empfangen werden. Wenn die Verifizierung erfolgreich ist, werden die Daten empfangen. Für die Verifizierungsfunktion „Validator“ sind möglicherweise unterschiedliche Parameter erforderlich. Weitere Informationen zur Verwendung finden Sie im Quellcode der Datei „wtforms/validators.py“. Validator-Klasse:
*Grundsätzlich verfügt jeder Validator über einen Nachrichtenparameter, der angibt, welche Meldung angezeigt wird, wenn die Eingabedaten nicht den Anforderungen des Validators entsprechen.
E-Mail Um die Legitimität der E-Mail-Adresse zu überprüfen, ist das erforderliche reguläre Muster ^.+@(12+)$
EqualTo Vergleichen Sie die beiden Werte eines Felds, die normalerweise in Szenarien wie der doppelten Eingabe eines Kennworts verwendet werden. Sie können den Parameter Feldname schreiben. Beachten Sie jedoch, dass es sich um eine Zeichenfolgenvariable handelt, die auf den Feldnamen eines anderen Felds in derselben Form verweist
IPAddress Überprüfen Sie die IPv4-Adresse, die Parameter sind standardmäßig ipv4=True, ipv6=False. Wenn Sie IPv6 verifizieren möchten, können Sie diese beiden Parameter umgekehrt einstellen.
Länge Überprüfen Sie die Länge der Eingabezeichenfolge. Sie können zwei Parameter min und max angeben, um die Unter- und Obergrenze der festzulegenden Länge anzugeben. Beachten Sie, dass der Parametertyp eine Zeichenfolge und nicht INT ist.
NumberRange Um zu überprüfen, ob die eingegebene Zahl innerhalb des Bereichs liegt, können Sie zwei Parameter, min und max, verwenden, um die Ober- und Untergrenze der Zahl anzugeben. Beachten Sie, dass der Parametertyp eine Zeichenfolge und nicht INT ist !! Dann können Sie %(min)s und %( im Nachrichtenparameter dieses Validators max)s zwei Formatierungsteile festlegen, um dem Frontend mitzuteilen, um welchen Bereich es sich handelt. Andere Validatoren haben ebenfalls ähnliche Tricks, Sie können sich auf den Quellcode beziehen.
Optional Andere Validierungsfunktionen im selben Feld überspringen, wenn kein Eingabewert vorhanden ist
Erforderlich Erforderliches Feld
Regexp Verwenden Sie einen regulären Ausdruck, um den Wert zu überprüfen, Parameter regex='regular Muster'
URL URL überprüfen, das erforderliche reguläre Muster ist ^[a-z]+://(?P
AnyOf Stellen Sie sicher, dass der Wert in der Liste der optionalen Werte enthalten ist. Die Parameter sind Werte (eine Liste optionaler Werte). Insbesondere bei Verwendung in Verbindung mit SelectField weiß ich nicht, warum der Wert der Elemente in den Auswahlmöglichkeiten von SelectField keine Zahl sein kann. . Andernfalls kann nicht erkannt werden, dass die aktuelle Option eine legale Option ist, selbst wenn der Werteparameter von AnyOf relevante Zahlen enthält. Ich vermute, dass NoneOf den gleichen Trick hat.
NoneOf Stellen Sie sicher, dass der Wert nicht in der Liste der optionalen Werte enthalten ist
#forms.py文件:用来设定规则 from flask_wtf import FlaskForm from flask_wtf.file import FileRequired, FileAllowed from wtforms import StringField, PasswordField, SubmitField, FileField from wtforms.validators import DataRequired, Length class LoginForm(FlaskForm): name = StringField( label="用户名/邮箱/手机号", validators=[ # DataRequired("请输入用户名"), Length(3, 20, message="长度不符"), ] ) passwd = PasswordField( label="密码", validators=[ # DataRequired("请输入密码"), Length(3, 20), ], ) file = FileField( label="简历", validators=[ FileRequired(), FileAllowed(['pdf', 'txt'], 'pdf 能被接收') ] )
#templates/demo/login.html nbsp;html> <meta> <title>Title</title>
#主程序 import random from flask import Flask, redirect, render_template from forms import LoginForm from flask_bootstrap import Bootstrap app = Flask(__name__) bootstrap = Bootstrap(app) app.config['SECRET_KEY'] = random._urandom(24) @app.route('/success/') def success(): return "success" @app.route('/login/', methods=('GET', 'POST')) def submit(): # 实例化表单对象; form = LoginForm() if form.validate_on_submit(): print(form.data) return redirect('/success/') return render_template('demo/login.html', form=form) app.run()
Das obige ist der detaillierte Inhalt vonFlask-Anwendung (Formularverarbeitung) in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Ist es genug, um Python für zwei Stunden am Tag zu lernen? Es hängt von Ihren Zielen und Lernmethoden ab. 1) Entwickeln Sie einen klaren Lernplan, 2) Wählen Sie geeignete Lernressourcen und -methoden aus, 3) praktizieren und prüfen und konsolidieren Sie praktische Praxis und Überprüfung und konsolidieren Sie und Sie können die Grundkenntnisse und die erweiterten Funktionen von Python während dieser Zeit nach und nach beherrschen.

Zu den wichtigsten Anwendungen von Python in der Webentwicklung gehören die Verwendung von Django- und Flask -Frameworks, API -Entwicklung, Datenanalyse und Visualisierung, maschinelles Lernen und KI sowie Leistungsoptimierung. 1. Django und Flask Framework: Django eignet sich für die schnelle Entwicklung komplexer Anwendungen, und Flask eignet sich für kleine oder hochmobile Projekte. 2. API -Entwicklung: Verwenden Sie Flask oder Djangorestframework, um RESTFUFFUPI zu erstellen. 3. Datenanalyse und Visualisierung: Verwenden Sie Python, um Daten zu verarbeiten und über die Webschnittstelle anzuzeigen. 4. Maschinelles Lernen und KI: Python wird verwendet, um intelligente Webanwendungen zu erstellen. 5. Leistungsoptimierung: optimiert durch asynchrones Programmieren, Caching und Code

Python ist in der Entwicklungseffizienz besser als C, aber C ist in der Ausführungsleistung höher. 1. Pythons prägnante Syntax und reiche Bibliotheken verbessern die Entwicklungseffizienz. 2. Die Kompilierungsmerkmale von Compilation und die Hardwarekontrolle verbessern die Ausführungsleistung. Bei einer Auswahl müssen Sie die Entwicklungsgeschwindigkeit und die Ausführungseffizienz basierend auf den Projektanforderungen abwägen.

Zu den realen Anwendungen von Python gehören Datenanalysen, Webentwicklung, künstliche Intelligenz und Automatisierung. 1) In der Datenanalyse verwendet Python Pandas und Matplotlib, um Daten zu verarbeiten und zu visualisieren. 2) In der Webentwicklung vereinfachen Django und Flask Frameworks die Erstellung von Webanwendungen. 3) Auf dem Gebiet der künstlichen Intelligenz werden Tensorflow und Pytorch verwendet, um Modelle zu bauen und zu trainieren. 4) In Bezug auf die Automatisierung können Python -Skripte für Aufgaben wie das Kopieren von Dateien verwendet werden.

Python wird häufig in den Bereichen Data Science, Web Development und Automation Scripting verwendet. 1) In der Datenwissenschaft vereinfacht Python die Datenverarbeitung und -analyse durch Bibliotheken wie Numpy und Pandas. 2) In der Webentwicklung ermöglichen die Django- und Flask -Frameworks Entwicklern, Anwendungen schnell zu erstellen. 3) In automatisierten Skripten machen Pythons Einfachheit und Standardbibliothek es ideal.

Die Flexibilität von Python spiegelt sich in Multi-Paradigm-Unterstützung und dynamischen Typsystemen wider, während eine einfache Syntax und eine reichhaltige Standardbibliothek stammt. 1. Flexibilität: Unterstützt objektorientierte, funktionale und prozedurale Programmierung und dynamische Typsysteme verbessern die Entwicklungseffizienz. 2. Benutzerfreundlichkeit: Die Grammatik liegt nahe an der natürlichen Sprache, die Standardbibliothek deckt eine breite Palette von Funktionen ab und vereinfacht den Entwicklungsprozess.

Python ist für seine Einfachheit und Kraft sehr beliebt, geeignet für alle Anforderungen von Anfängern bis hin zu fortgeschrittenen Entwicklern. Seine Vielseitigkeit spiegelt sich in: 1) leicht zu erlernen und benutzten, einfachen Syntax; 2) Reiche Bibliotheken und Frameworks wie Numpy, Pandas usw.; 3) plattformübergreifende Unterstützung, die auf einer Vielzahl von Betriebssystemen betrieben werden kann; 4) Geeignet für Skript- und Automatisierungsaufgaben zur Verbesserung der Arbeitseffizienz.

Ja, lernen Sie Python in zwei Stunden am Tag. 1. Entwickeln Sie einen angemessenen Studienplan, 2. Wählen Sie die richtigen Lernressourcen aus, 3. Konsolidieren Sie das durch die Praxis erlernte Wissen. Diese Schritte können Ihnen helfen, Python in kurzer Zeit zu meistern.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Dreamweaver Mac
Visuelle Webentwicklungstools

PHPStorm Mac-Version
Das neueste (2018.2.1) professionelle, integrierte PHP-Entwicklungstool

MantisBT
Mantis ist ein einfach zu implementierendes webbasiertes Tool zur Fehlerverfolgung, das die Fehlerverfolgung von Produkten unterstützen soll. Es erfordert PHP, MySQL und einen Webserver. Schauen Sie sich unsere Demo- und Hosting-Services an.

SAP NetWeaver Server-Adapter für Eclipse
Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools