Dino Geek essaye de t'aider

Comment utiliser les formulaires Django ?


Les formulaires Django sont un outil puissant qui permet, entre autres, de valider les saisies utilisateur. Django propose deux grandes catégories de formulaires : les “Form” et les “ModelForm”. Les premiers sont génériques et ne sont liés à aucun modèle de données en particulier, tandis que les seconds sont directement associés à un modèle de données.

Un formulaire Django est défini comme une classe qui hérite de “django.forms.Form” ou “django.forms.ModelForm”. Chaque champ du formulaire est représenté par une instance de “Field” (CharField, EmailField, IntegerField, etc.). Il existe de nombreux types de Field, chacun correspondant à un type particulier de donnée et à une manière spécifique de la valider. (Source : documentation Django https://docs.djangoproject.com/fr/3.2/topics/forms/)

Voici un exemple simple d’un formulaire Django :

```
from django import forms

class ContactForm(forms.Form): name = forms.CharField(max_length=100) email = forms.EmailField() message = forms.CharField(widget=forms.Textarea)
```

Et voici comment l’utiliser dans une vue :

```
from django.http import HttpResponseRedirect
from django.shortcuts import render

def contact(request): if request.method == ‘POST’: form = ContactForm(request.POST) if form.is_valid(): # Process the data in form.cleaned_data # … return HttpResponseRedirect(‘/thanks/’) else: form = ContactForm() return render(request, ‘contact.html’, {‘form’: form})
```

Dans ce code, “form.is_valid()” valide les données du formulaire. Si les données sont valides, elles sont accessibles dans le dictionnaire “form.cleaned_data”. Sinon, le formulaire est renvoyé avec des informations sur les erreurs à corriger. (Source : documentation Django https://docs.djangoproject.com/fr/3.2/topics/forms/)

Django propose également des “ModelForm”, qui sont des formulaires associés à un modèle de données. Ils permettent d’éviter de dupliquer du code en générant automatiquement un formulaire à partir d’un modèle. Voici un exemple de ModelForm :

```
from django import forms
from myapp.models import Article

class ArticleForm(forms.ModelForm): class Meta: model = Article fields = [‘title’, ‘content’, ‘pub_date’]
```

Dans cet exemple, le ModelForm est associé au modèle “Article” et contient trois champs : “title”, “content” et “pub_date”. Comme les Form, les ModelForm peuvent être validés avec “is_valid()” et les données validées sont disponibles dans “form.cleaned\_data”. (Source : documentation Django https://docs.djangoproject.com/fr/3.2/topics/forms/modelforms/)


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation