首页 > 解决方案 > Django 表单验证(不显示提交的数据)

问题描述

如您所见,我可以尝试在屏幕上仅显示奇数。但是提交后,屏幕上没有显示数据。

这里是 HTML 代码

{% if form_submited %}

<p>Field: {{ field }}</p>

{% endif %}

这里是form.py文件

from django import forms
from django.core import validators


def even_or_not(value):
     if value%2==1:
          raise forms.ValidationError("Please Insert an Even Number!")


class user_form(forms.Form):

     number_field=forms.IntegerField(validators=[even_or_not])

**这里是views.py文件**

from django.shortcuts import render,HttpResponse
from home.models import Musician, Album
from home import forms


# Create your views here.
def index(request):
    musician_list = Musician.objects.order_by('first_name')
    diction={'text_1':'This is a list of Musicians', 'musician':musician_list}
    return render(request,'index.html',context=diction)
    # return HttpResponse("this is homepage")

def form(request):
    new_form=forms.user_form()
    diction={'test_form': new_form, 'heading_1': "This form is created using django library "}

    if request.method == "POST":
        new_form = forms.user_form(request.POST)
        diction.update({'test_form':new_form})

        if new_form.is_valid():
            diction.update({'field': new_form.cleaned_data['number_field']})
            diction.update({'form_submited':"Yes"})

    diction={'test_form': new_form,'heading_1':"This form is created using django librery "}    

    return render(request, 'form.html',context=diction) 

标签: djangoformsvalidation

解决方案


推荐阅读