zoukankan      html  css  js  c++  java
  • django 【form表单】

    #########################根据类来生成表单#################
    '''
    django form类
    通模型类的属性映射到数据库的字段一样,表单类的字段会映射到HTML的<input>表单元素
    ModelForm通过一个Form映射模型类的字段到HTML表单的<input>元素
    
    Form表单功能
    1、自动生成HTML表单元素
    2、检查表单数据的合法性
    3、如果验证错误,重新显示表单(数据不会重置)
    
    Form相关的对象
    widget: 用来渲染成HTML元素的工具
    field: form对象中的一个字段
    form: 一系列的field对象集合,验证和显示HTML元素
    from media : 渲染表单的css和javascript资源
    
    定义Form有两种方式: 参见此项目中的testform
    方式一: 直接继承Form
    from django import forms
    
    class CustormForm(forms.Form):
        name = forms.CharField(max_length=64)
        qq = forms.CharField(max_length=64)
    
    def customerform(request):
        return render(request,'testform/testform.html',{'form':CustormForm})
    
    方法二:结合model,继承django.forms.ModelForm
    
    from django.forms import ModelForm
    from crm import models
    
    class CustomerForm(ModelForm):
        class Meta:
            model = models.Customer
            fields = '__all__'
    
    def customerform(request):
        return render(request, 'testform/testform.html', {'form': CustomerForm})
    
    前端渲染
    <form  method="POST">
        {% for field in form %}
            {{ field.name }} {{ field }}
        {% endfor %}
    </form>
    
    后端验证
    form = CustomerForm(request.POST)
    if form.is_valid(): #查看验证是否通过
    
    
    field属性
    {{ field }}  field.lable field.lable_tag field.value field.errors
    
    另外 form_obj
    
    '''
  • 相关阅读:
    Python 异常处理
    Python 持久存储
    Python 用户登录验证(类的继承)
    Python 类的继承/覆盖
    Python 类与对象变量
    NSNotificationCenter
    编译错误:expected specifierqualifierlist before ‘class'
    NSTimer
    如何获取应用程序委托对象
    如何从iPhone启动AppStore
  • 原文地址:https://www.cnblogs.com/weibiao/p/7281743.html
Copyright © 2011-2022 走看看