zoukankan      html  css  js  c++  java
  • Django学习笔记之form表单

    关于django form表单的使用:

    1. 创建一个forms.py的文件,放在指定的app当中,然后在里面写表单.
    2. 表单是通过类实现的,继承自forms.Form,然后在里面定义要验证的字段.
    3. 在表单中,创建字段跟模型是一模一样的,但是没有null=True或者blank=True等这几种参数了,有的参数是required=True/False.
    4. 使用is_valid()方法可以验证用户提交的数据是否合法,而且HTML表单元素的name必须和django中的表单的name保持一致,否则匹配不到.
    5. is_bound属性:用来表示form是否绑定了数据,如果绑定了,则返回True,否则返回False.
    6. cleaned_data:这个是在is_valid()返回True的时候,保存用户提交上来的数据.
      创建forms.py的文件,创建一个AddForm的类:
    #/forms.py
    from django import forms
    
    class AddForm(forms.Form):
        first = forms.IntegerField()
        second = forms.IntegerField()
    # 可以生成前端页面,也可以用来验证数据的合法性.
    #视图函数 views.py
    from .forms import AddForm
    
    def add_test(request):
        if request.method == 'GET':
            form = AddForm() # form实例化
            return render(request,'douban/add_test.html',
                          context={'form':form}
                          )
        elif request.method == 'POST':
            form = AddForm(request.POST) # 拿到form表单的值
            # 判断数据合法性
            if form.is_valid():
                first = form.cleaned_data.get('first') # cleaned_data字典方式取值
                second = form.cleaned_data.get('second')
                print(first,second)
                return HttpResponse(first+second)

    form表单中的一些参数说明:
    max_length 最大长度
    min_length 最小长度
    widget 负责渲染网页上HTML 表单的输入元素和提取提交的原始数据
    attrs 包含渲染后的Widget 将要设置的HTML 属性
    error_messages 报错信息
    注:虽然form可以生成前端页面,但这个功能实际用的少,主要是是用form表单的验证功能

  • 相关阅读:
    HDU 5438 Ponds
    [HNOI2013]比赛
    [HNOI2009]最小圈
    【模板】高斯消元法
    控制公司 Controlling Companies
    sdut 2878 圆圈
    滑雪
    [ZJOI2010]排列计数
    [HNOI2003]激光炸弹
    [BZOJ 3732]Network
  • 原文地址:https://www.cnblogs.com/shuai06/p/12397505.html
Copyright © 2011-2022 走看看