python+django实现的简单的表单验证源码

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+django实现的简单的表单验证源码相关的知识,希望对你有一定的参考价值。

下面的内容段是关于python+django实现的简单的表单验证的内容,应该能对大伙也有用途。

<html>
<head>
  <title>Form validation example</title>
  <link rel="stylesheet" type="text/css" href=" STATIC_URL css/bootstrap.css">
</head>
<body>

  <div class="col-sm-8">
    <h2>Form validation example</h2>
    % if form.errors %
    <div class="text-danger">Please correct the error form.errors|pluralize  below.</div>
    % endif %
    <p>
    <div class="form-horizontal">
      <form action="" method="post" role="form">% csrf_token %

        <div class="form-group row % if form.subject.errors %has-error% endif %">
           <label for="id_subject" class="col-sm-3 control-label">Email subject:</label>
           <div class="col-lg-5">
             form.subject 
            % if form.subject.errors %
              <span class="help-block">
                % for error in form.subject.errors % error % endfor %
              </span>
            % endif %
          </div>
        </div>

        <div class="form-group row % if form.email.errors %has-error% endif %">
          <label for="id_sender" class="col-sm-3 control-label">Email address:</label>
          <div class="col-lg-5">
           form.email 
            % if form.email.errors %
              <span class="help-block">
                % for error in form.email.errors % error % endfor %
              </span>
            % endif %
          </div>
        </div>

        <div class="form-group row % if form.message.errors %has-error% endif %">
          <label for="id_message" class="col-sm-3 control-label">Message:</label>
          <div class="col-lg-5">
             form.message 
            % if form.message.errors %
              <span class="help-block">
                % for error in form.message.errors % error % endfor %
              </span>
            % endif %
          </div>
        </div>

        <div class="form-group row">
          <div class="col-sm-5 col-sm-offset-3">
            <input type="submit" value="Validate form" class="btn btn-primary" />
          </div>
        </div>
      </form>
    </div>
  </div>
</body>
</html>

forms.py

from django import forms

class ContactForm(forms.Form):
  """
  define a contact form class
  """
  # this will be rendered like
  # <input class="form-control" id="id_subject" name="subject" size="48" type="text">
  # valid if not empty
  subject = forms.CharField(widget=forms.TextInput(attrs=‘size‘:‘48‘, ‘class‘:‘form-control‘))
  # A CharField that checks that the value is a valid email address.
  email = forms.EmailField(widget=forms.TextInput(attrs=‘size‘:‘48‘, ‘class‘:‘form-control‘))
  message = forms.CharField(widget=forms.Textarea(attrs=‘cols‘:50, ‘rows‘: 5 , ‘class‘:‘form-control‘))

views.py

from django.shortcuts import render
from .forms import ContactForm

def contact(request):
  if request.method == ‘POST‘:
    # get data from POST request to contactform
    form = ContactForm(request.POST)
  else:
    form = ContactForm()

  data = 
    ‘form‘: form,
  
  return render(request, ‘contact_form.html‘, data)

以上是关于python+django实现的简单的表单验证源码的主要内容,如果未能解决你的问题,请参考以下文章

72django之简单验证码实现与form表单钩子函数补充

Tyrion 中文文档(含示例源码)

Tyrion中文文档(含示例源码)

看用Tornado如何自定义实现表单验证

Django“自动对焦”表单验证错误

python Django:验证主要表单中的内联表单