繁体   English   中英

重置 Django 表单

[英]Reset Django Form

我想知道在您完成表格时如何清除(重置)表格?

我可以将表单提交到我的 MySQL 数据库,我认为重置过程是相同的,但显然不是。 我只是想补充一点,我真的被 Django 困住了,我每天也在学习很多教程。

<!--DOCTYPE html -->
<html>

<body>

<h1 align="center"> Formulaire d'acte de naissance </h1>

<form method='POST' action=''> {% csrf_token %}

<h3> Partie contenant les informations de l'enfant</h3>
{{ Cform.as_ul}} <!-- Display child part formulary -->
{{ value|date:"%d/%m/%Y" }}
{{ value|time:"H:M" }}

<h3> Partie contenant les informations des parents </h3>
{{ Pform.as_ul }} <!-- Display parent part formulary -->
{{ value|date:"%d/%m/%Y" }}

<br></br>

<input type ="submit" value="Valider le formulaire" />
<input type ="reset" value="Reset" />

</form>

</body>
</html>

这是我的 views.py 文件:

#-*- coding: utf-8 -*-

from django.shortcuts import render
from django.http import HttpResponseRedirect, HttpResponse
from django.template import loader
from .models import Child, Parent
from .forms import ChildForm, ParentForm

# Create your views here.

def BirthCertificateAccueil(request) :
    # Fonction permettant de créer la page d'accueil de la rubrique Acte de Naissance 

    #Cherche le fichier html accueil et le renvois
    template = loader.get_template('accueil.html') 
    return HttpResponse(template.render(request))

def Formulary(request) :
    # Fonction permettant de créer le formulaire Acte de Naissance et le remplissage

        Cform = ChildForm(request.POST or None) 
        Pform = ParentForm(request.POST or None)

        if Cform.is_valid() and Pform.is_valid() :   # Vérification sur la validité des données
            Cform.save()
            Pform.save()

        context = {
            "Cform" : Cform,
            "Pform" : Pform,
           }

        return render(request, 'birthform.html', context)

这是我的 urls.py :

from django.conf.urls import url
from . import views

urlpatterns = [
    url(r'^accueil$', views.BirthCertificateAccueil),
    url(r'^formulaire$', views.Formulary),
]

这是一个完全错误的方法还是我错过了什么?

谢谢;)

PS:Stack 上有一部分可以让我与开发人员一起改进我的项目/脚本? 因为我是一个人做这个项目,作为初学者,这很难:/

我的本地主机出生证书页面

您做错的是将表单传递给上下文,并使用您获得一次的帖子值。您只需要在上下文之前调用表单。 这样每次保存结果后都会显示空表格。

 if Cform.is_valid() and Pform.is_valid() :   
     Cform.save()
     Pform.save()
 Cform = ChildForm() 
 Pform = ParentForm()   
 context = {
        "Cform" : Cform,
        "Pform" : Pform,
       }

通常使用Post/Redirect/Get来提交表单。 您缺少的是成功验证提交的表单值后的重定向:

if Cform.is_valid() and Pform.is_valid() :
    Cform.save()
    Pform.save()
    return redirect('/formulaire')  # <- This.

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM