zoukankan      html  css  js  c++  java
  • Django之Form功能

    一 什么是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>
  • 相关阅读:
    电子商务概论【0351】
    数据库原理
    建筑结构CAD[0753]
    计算机图像处理基础[9124]
    计算机基础[1056]
    计算机组成原理【0013】
    C语言程序设计【0039】
    计算机基础1056
    专业英语[0089]
    double数据转换成char字符串的函数——dtostrf()用法
  • 原文地址:https://www.cnblogs.com/pyyu/p/7475074.html
Copyright © 2011-2022 走看看