码迷,mamicode.com
首页 > 其他好文 > 详细

Django之Form功能

时间:2017-09-04 19:54:24      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:标签   输入   val   div   用户   子类   ipa   redirect   address   

一 什么是Form?什么是DjangoForm?

Django表单系统中,所有的表单类都作为django.forms.Form的子类创建,包括ModelForm

关于django的表单系统,主要分两种

基于django.forms.Form:所有表单类的父类

基于django.forms.ModelForm:可以和模型类绑定的Form

Django的Form主要具有一下几大功能:

  • 生成HTML标签
  • 验证用户数据(显示错误信息)
  • HTML Form提交保留上次提交数据
  • 初始化页面显示内容

示例代码:

views.py

from django.forms import Form
from django.forms import fields
class LoginForm(Form):
    # 正则验证: 不能为空,6-18
    username = fields.CharField(
        max_length=18,
        min_length=6,
        required=True,
        error_messages={
            required: 用户名不能为空,
            min_length: 太短了,
            max_length: 太长了,
        }
    )
    # 正则验证: 不能为空,16+
    password = fields.CharField(min_length=4,required=True)
    # email = fields.EmailField()
    # email = fields.GenericIPAddressField()
    # email = fields.IntegerField()


def login(request):
    if request.method == "GET":
        return render(request,login.html)
    else:
       obj = LoginForm(request.POST)
       if obj.is_valid():
           # 用户输入格式正确
           print(obj.cleaned_data) # 字典类型
           return redirect(http://www.baidu.com)
       else:
           # 用户输入格式错误
           return render(request,login.html,{obj:obj})
urls.py
from django.conf.urls import url
from django.contrib import admin
from app01 import views
urlpatterns = [
    url(r^admin/, admin.site.urls),
    url(r^login/,views.login),
    #url(r^test/,views.test),
]

login.html

 <form method="POST" action="/login/">
        {% csrf_token %}
        <p>
            用户:<input type="text" name="username"/>{{ obj.errors.username.0 }}
        </p>
        <p>
            密码:<input type="password" name="password"/>{{ obj.errors.password.0 }}
        </p>
        <input type="submit" value="提交" />{{ msg }}
    </form>

 

Django之Form功能

标签:标签   输入   val   div   用户   子类   ipa   redirect   address   

原文地址:http://www.cnblogs.com/pyyu/p/7475074.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!