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
    
    '''
  • 相关阅读:
    js调试技巧
    Java编程技巧——构建器
    java设计模式:工厂方法模式(Factory Method)
    23种设计模式导航
    java设计模式:单例模式(Singleton Pattern)
    迭代器与生成器
    装饰器
    文件操作的说明与使用
    函数命名、调用小技巧
    各类型数据的操作方法
  • 原文地址:https://www.cnblogs.com/weibiao/p/7281743.html
Copyright © 2011-2022 走看看