Django Form,ModelForm以及ModelFormSet组件

 

Form

- 中文官网基础用法

- 中文官网所有API用法

 

- 简介:

Django自带的form组件,
和模型model原理类似,将类中的静态字段映射到input标签中;

一个表单的字段本身就是类;
他们管理表单数据,并在提交表单时执行验证。 
DateField 和FileField 处理的数据类型差别很大,必须完成不同的事情。

表单字段在浏览器中呈现给用户的是一个HTML 的“widget” —— 用户界面的一个片段。 每个字段类型都有一个合适的默认Widget class,需要时可以覆盖
也就是说,通过更改 widget 即可修改模板中的样式

 

- 基本用法:

  - 定义Form类:

from django import forms

class NameForm(forms.Form):
    your_name = forms.CharField(label='Your name', max_length=100)

 

  - 视图中使用:

from django.shortcuts import render
from django.http import HttpResponseRedirect

from .forms import NameForm

def get_name(request):
    # 如果这是一个POST请求,我们就需要处理表单数据
    if request.method == 'POST':
        # 创建一个表单实例,并且使用表单数据填充request请求:
        form = NameForm(request.POST)
        # 检查数据有效性:
        if form.is_valid():
            # 在需要时,可以在form.cleaned_date中处理数据
            # ...
            # 重定向到一个新的URL:
            return HttpResponseRedirect('/thanks/')

    # 如果是GET或者其它请求方法,我们将创建一个空的表单。
    else:
        form = NameForm()

    return render(request, 'name.html', {'form': form})

 

  - 模板中使用:

<form action="/your-name/" method="post">
    {% csrf_token %}
    {{ form }}
    <input type="submit" value="Submit" />
</form>

 

 

- 常用API解析

 

 

ModelForm

- 中文官网详解

 

- 简介:

 

- 基本用法:

  - 定义Form类

  - 视图中使用:

  - 模板中使用:

 

- 常用API解析

 

 

ModelFormSet

- 中文官网中的模型表单集

 

- 简介:

 

- 基本用法:

  - 定义Form类

  - 视图中使用:

  - 模板中使用:

 

- 常用API解析

 

 

示例:超市进销管理系统

 

 

posted @ 2018-11-07 18:43  浮生凉年  阅读(265)  评论(0编辑  收藏  举报