Maison > développement back-end > Tutoriel Python > Comment gérer plusieurs formulaires sur une seule page Django ?

Comment gérer plusieurs formulaires sur une seule page Django ?

Susan Sarandon
Libérer: 2024-11-30 03:49:18
original
985 Les gens l'ont consulté

How to Handle Multiple Forms on a Single Django Page?

Gestion de plusieurs formulaires sur une seule page dans Django

Lorsque vous travaillez avec plusieurs formulaires sur un seul modèle Django, il est essentiel de déterminer quel formulaire est soumis pour éviter de traiter les deux formulaires simultanément. Le principal défi réside dans l'identification du formulaire souhaité dans les données POST.

Options de formulaire multiples

Il existe plusieurs approches pour résoudre ce problème :

  • URL séparées : Attribuez des URL distinctes à chaque formulaire. Cela entraîne plusieurs fonctions d'affichage gérant les formulaires individuellement.
  • Valeurs du bouton de soumission : Examinez les valeurs du bouton de soumission dans les données POST pour déterminer quel bouton a été utilisé.

Exemple de solution

Considérons le scénario suivant où nous avons deux formulaires sur une page : forme de phrase attendue et forme de phrase interdite. Pour gérer leur soumission, nous utilisons le code suivant :

if request.method == 'POST':
    if 'bannedphrase' in request.POST:
        bannedphraseform = BannedPhraseForm(request.POST, prefix='banned')
        if bannedphraseform.is_valid():
            bannedphraseform.save()
        expectedphraseform = ExpectedPhraseForm(prefix='expected')
    elif 'expectedphrase' in request.POST:
        expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected')
        if expectedphraseform.is_valid():
            expectedphraseform.save()
        bannedphraseform = BannedPhraseForm(prefix='banned')
else:
    bannedphraseform = BannedPhraseForm(prefix='banned')
    expectedphraseform = ExpectedPhraseForm(prefix='expected')
Copier après la connexion

Dans cet exemple, nous vérifions les données POST pour les valeurs du bouton de soumission. En fonction de la valeur, nous instancions le formulaire correspondant et tentons de le sauvegarder. Le préfixe garantit que les données soumises sont correctement liées au formulaire.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal