美文网首页
Django使用表单集

Django使用表单集

作者: Chaweys | 来源:发表于2020-11-03 11:10 被阅读0次

    表单集
    表单集是表单对象的集合,用于处理多个表单。可调用diango.forms模块提供的formset_factory()工厂类方法创建表单集类。
    
    举例:
    classTestFormset=formset_factory(test,extra=2)  #创建表单集类
    test参数表示自定义的表单类
    extra参数表示指定表单集中包含的表单个数,默认为1,最大为1000
    
    创建了表单集类后,就可用来创建表单集对象:
    formset=classTestFormset(request.POST) #带参表单集对象
    formset=classTestFormset()             #空表单集对象
    
    
    
    文件\chapter7\app\views.py
    from django.shortcuts import render
    from django import forms
    
    class charForm(forms.Form):
        name=forms.CharField(max_length=50,label="姓名")
        age=forms.IntegerField(max_value=50,min_value=20,label="年龄",help_text="年龄不小于20且不大于50")
    
    from django.forms import formset_factory
    def testformsetfactory(request):
        classformsetfactory=formset_factory(charForm,extra=2)  #创建表单集类
        if request.method=="POST":
            formset=classformsetfactory(request.POST)          #创建表单集类对象
        else:
            formset=classformsetfactory()                      #创建空表单集类对象
    
        return render(request,"tempfromset.html",{"formset":formset})
        
        
        
    文件\chapter7\chapter7\urls.py
    from django.contrib import admin
    from django.urls import path
    from app import views
    urlpatterns = [
        path('admin/', admin.site.urls),
        path('formset/',views.testformsetfactory),
    ]
    
    
    
    文件\chapter7\app\templates\tempfromset.html
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body>
        <h3>使用表单集</h3>
        <form action="/formset/" method="POST">
            {% csrf_token %}
            <table>
                {{formset}}
            </table>
            <input type="submit" value="提交"/>
        </form>
    
    </body>
    </html>
    
    使用表单集.png

    相关文章

      网友评论

          本文标题:Django使用表单集

          本文链接:https://www.haomeiwen.com/subject/djtuvktx.html