


Application Flask (traitement de formulaire) en python
Le contenu de cet article concerne l'application flask (traitement de formulaire) en Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.
1.Pourquoi utiliser Flask-WTF ?
L'objet de requête expose toutes les informations de requête envoyées par le client. En particulier, request.form a accès aux données du formulaire soumises par les requêtes POST.
Bien que le support fourni par l'objet de requête de Flask soit suffisant pour gérer les formulaires Web, de nombreuses tâches deviennent encore monotones et répétitives.
La génération de code HTML de formulaire et la validation des données du formulaire soumis sont deux bons exemples.
Avantages :
L'extension Flask-WTF rend le traitement des formulaires Web une expérience plus agréable. Cette extension est une intégration Flask qui enveloppe le package WTForms indépendant du framework.
2. Qu'est-ce que le traitement des formulaires ?
Dans une page Web, certains formulaires doivent toujours apparaître afin d'interagir avec les utilisateurs.
Flask a conçu la bibliothèque de formulaires WTForm pour faciliter la gestion et l'exploitation des données de formulaire par Flask.
Les concepts les plus importants dans WTForm sont les suivants :
1). Classe Form, les formulaires définis par le développeur doivent hériter de la classe Form ou de ses sous-classes.
La fonction principale de la classe Form est de fournir un accès rapide aux données du formulaire via la classe Field qu'elle contient.
2). Diverses classes Field, à savoir les champs. De manière générale, chaque classe Field correspond à une balise HTML d'entrée.
Par exemple, certaines classes Field fournies avec WTForm, telles que BooleanField, correspondent à ,
SubmitField correspond à , etc.
3). Classe de validateur. Cette classe est utilisée pour vérifier la validité des données saisies par l'utilisateur.
Par exemple, le validateur de longueur peut être utilisé pour vérifier la longueur des données d'entrée,
FileAllowed vérifie le type de fichiers téléchargés, etc.
De plus, afin d'empêcher les attaques csfr (cross-site request forgery), flask nécessite que l'application définisse secret_key par défaut avant d'utiliser flask-wtf. Le moyen le plus simple de le configurer consiste à utiliser app.config['SECRET_KEY'] = 'xxxx'.
3. Classes de champ commun
Champ de mot de passe PasswordField, convertit automatiquement l'entrée en petits points noirs
Champ de texte DateField, le format requis est datetime . la date est la même
Champ de texte IntergerField, l'exigence de format est un entier
Champ de texte DecimalField, l'exigence de format est la même que decimal.Decimal
Champ de texte FloatField, la valeur est un nombre à virgule flottante
BooleanField Case à cocher, la valeur est True ou False
RadioField Un ensemble de cases de boutons radio
SelectField Liste déroulante, elle devrait Il convient de noter que le paramètre choix détermine les options déroulantes, mais il est différent de Comme la balise
MultipleSelectField Une liste déroulante avec plusieurs valeurs disponibles
Fonction de vérification du validateur
Le validateur est une fonction de vérification qui lie un champ à un fonction de vérification Ensuite, Flask effectuera une vérification sur les données avant de recevoir les données dans le formulaire. Si la vérification réussit, les données seront reçues. La fonction de vérification du validateur est la suivante. Des validateurs spécifiques peuvent nécessiter différents paramètres. Voici seulement quelques paramètres couramment utilisés. Pour une utilisation plus détaillée, veuillez vous référer au code source du fichier wtforms/validators.py. classe de validateur :
*Fondamentalement, chaque validateur a un paramètre de message, qui indique quel message est affiché lorsque les données d'entrée ne répondent pas aux exigences du validateur.
Email Pour vérifier la légitimité de l'adresse email, le modèle régulier requis est ^.+@(12+)$
EqualTo Comparez les deux La valeur d'un champ, généralement utilisée dans des scénarios tels que la saisie d'un mot de passe deux fois. Vous pouvez écrire le paramètre fieldname, mais notez qu'il s'agit d'une variable chaîne pointant vers le nom d'un autre champ sous la même forme
.IPAddress Vérifiez l'adresse IPv4, les paramètres par défaut ipv4=True, ipv6=False. Si vous souhaitez vérifier ipv6, vous pouvez définir ces deux paramètres à l'envers.
Longueur Vérifiez la longueur de la chaîne d'entrée Vous pouvez avoir deux paramètres min et max pour indiquer les limites inférieure et supérieure de la longueur à définir. Notez que le type de paramètre est une chaîne, pas INT !!
NumberRange Pour vérifier si le nombre saisi est dans la plage, vous pouvez avoir deux paramètres, min et max, pour indiquer les limites supérieure et inférieure du nombre. Notez que le type de paramètre est une chaîne, pas INT. !! Ensuite, vous pouvez définir %(min)s et %( dans le paramètre de message de ce validateur max)s deux parties de formatage pour indiquer au front-end quelle est cette plage. D'autres validateurs ont également des astuces similaires, vous pouvez vous référer au code source.
Facultatif Ignorer les autres fonctions de validation dans le même champ lorsqu'il n'y a pas de valeur d'entrée
Obligatoire Champ obligatoire
Regexp Utiliser une expression régulière pour vérifier la valeur, paramètre regex='regular motif'
URL Vérifiez l'URL, le modèle régulier requis est ^[a-z]+://(?P
AnyOf Assurez-vous que la valeur est dans la liste des valeurs facultatives. Les paramètres sont des valeurs (une liste de valeurs facultatives). En particulier, lorsqu'il est utilisé conjointement avec SelectField, je ne sais pas pourquoi la valeur des éléments dans les choix de SelectField ne peut pas être un nombre. . Sinon, même s'il y a des nombres pertinents dans le paramètre valeurs d'AnyOf, il ne peut pas être reconnu que l'option actuelle est une option légale. Je soupçonne que NoneOf peut avoir le même truc.
NoneOf Assurez-vous que la valeur ne figure pas dans la liste des valeurs facultatives
#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()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Une formation efficace des modèles Pytorch sur les systèmes CentOS nécessite des étapes, et cet article fournira des guides détaillés. 1. Préparation de l'environnement: Installation de Python et de dépendance: le système CentOS préinstalle généralement Python, mais la version peut être plus ancienne. Il est recommandé d'utiliser YUM ou DNF pour installer Python 3 et Mettez PIP: sudoyuMupDatePython3 (ou sudodnfupdatepython3), pip3install-upradepip. CUDA et CUDNN (accélération GPU): Si vous utilisez Nvidiagpu, vous devez installer Cudatool

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Lors de la sélection d'une version Pytorch sous CentOS, les facteurs clés suivants doivent être pris en compte: 1. CUDA Version Compatibilité GPU Prise en charge: si vous avez NVIDIA GPU et que vous souhaitez utiliser l'accélération GPU, vous devez choisir Pytorch qui prend en charge la version CUDA correspondante. Vous pouvez afficher la version CUDA prise en charge en exécutant la commande nvidia-SMI. Version CPU: Si vous n'avez pas de GPU ou que vous ne souhaitez pas utiliser de GPU, vous pouvez choisir une version CPU de Pytorch. 2. Version Python Pytorch

Minio Object Storage: Déploiement haute performance dans le système Centos System Minio est un système de stockage d'objets distribué haute performance développé sur la base du langage Go, compatible avec Amazons3. Il prend en charge une variété de langages clients, notamment Java, Python, JavaScript et GO. Cet article introduira brièvement l'installation et la compatibilité de Minio sur les systèmes CentOS. Compatibilité de la version CentOS Minio a été vérifiée sur plusieurs versions CentOS, y compris, mais sans s'y limiter: CentOS7.9: fournit un guide d'installation complet couvrant la configuration du cluster, la préparation de l'environnement, les paramètres de fichiers de configuration, le partitionnement du disque et la mini

CENTOS L'installation de Nginx nécessite de suivre les étapes suivantes: Installation de dépendances telles que les outils de développement, le devet PCRE et l'OpenSSL. Téléchargez le package de code source Nginx, dézippez-le et compilez-le et installez-le, et spécifiez le chemin d'installation AS / USR / LOCAL / NGINX. Créez des utilisateurs et des groupes d'utilisateurs de Nginx et définissez les autorisations. Modifiez le fichier de configuration nginx.conf et configurez le port d'écoute et le nom de domaine / adresse IP. Démarrez le service Nginx. Les erreurs communes doivent être prêtées à prêter attention, telles que les problèmes de dépendance, les conflits de port et les erreurs de fichiers de configuration. L'optimisation des performances doit être ajustée en fonction de la situation spécifique, comme l'activation du cache et l'ajustement du nombre de processus de travail.
