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
    
    '''
  • 相关阅读:
    linux 上安裝lnmp
    html 禁用点击事件
    nftables 是什么? 提供什么功能? 如何使用?
    ESXi主机RAID卡_HBA卡_网卡 型号_固件_驱动查询
    Celery Beat定时任务
    Centos 7/8 安装Rabbit-MQ
    Celery 最佳实践
    Django 3.0 + Celery 4.4 + RabbitMQ
    C语言Socket示例
    深入理解计算机系统 — 读书笔记
  • 原文地址:https://www.cnblogs.com/weibiao/p/7281743.html
Copyright © 2011-2022 走看看