form功能:

表单用于向服务器传输数据,从而实现用户与Web服务器的交互

表单能够包含input系列标签,比如文本字段、复选框、单选框、提交按钮等等。

表单还可以包含textarea、select、fieldset和 label标签。

表单属性

 

属性

描述

accept-charset

规定在被提交表单中使用的字符集(默认:页面字符集)。

action

规定向何处提交表单的地址(URL)(提交页面)。

autocomplete

规定浏览器应该自动完成表单(默认:开启)。

enctype

规定被提交数据的编码(默认:url-encoded)。

method

规定在提交表单时所用的 HTTP 方法(默认:GET)。

name

规定识别表单的名称(对于 DOM 使用:document.forms.name)。

novalidate

规定浏览器不验证表单。

target

规定 action 属性中地址的目标(默认:_self)。


from django.conf.urls import url
from django.shortcuts import HttpResponse


def upload(request):
    print("request.GET:", request.GET)
    print("request.POST:", request.POST)

    if request.FILES:
        filename = request.FILES["file"].name
        with open(filename, 'wb') as f:
            for chunk in request.FILES['file'].chunks():
                f.write(chunk)
            return HttpResponse('上传成功')
    return HttpResponse("收到了!")

urlpatterns = [
    url(r'^upload/', upload),
]

django上传文件代码

 

表单元素

基本概念:
HTML表单是HTML元素中较为复杂的部分,表单往往和脚本、动态页面、数据处理等功能相结合,因此它是制作动态网站很重要的内容。
表单一般用来收集用户的输入信息
表单工作原理:
访问者在浏览有表单的网页时,可填写必需的信息,然后按某个按钮提交。这些信息通过Internet传送到服务器上。 
服务器上专门的程序对这些数据进行处理,如果有错误会返回错误信息,并要求纠正错误。当数据完整无误后,服务器反馈一个输入完成的信息。

1. input

input根据不同属性type的值,变化各样:属性意义见博客前端1

type属性:

  text:代码如下:         

<p>

    <label for="l1">用户名:</label>
    <input id="l1" name="username" type="text">
</p>

password:代码如下:

<p>
    <label for="l2">密码</label>
    <input id="l2" name="password" type="password">
</p>

radio:代码如下:

<p>
    性别:
    <label for="s1">男</label>
    <input id="s1" name="sex" type="radio">
    <label for="s2">女</label>
    <input id="s2" name="sex" type="radio">
</p>
checkbox:代码如下:
<p>
    爱好:
    <input name="habbysh" type="checkbox">篮球
    <input name="habbysh" type="checkbox">足球
    <input name="habbysh" type="checkbox">羽毛球
</p>

file:代码如下:

<p>
    图片:
    <input type="file">
</p>

submit:代码如下

</p>
    <input type="submit" value="提交">
</p>

2.select模块:

  option:实现内容下拉框选中模块

  optgroup:实现内容分组下拉框选中模块

代码:

<select name="" id="">
        <optgroup label="贵州">
            <option value="gy">贵阳</option>
            <option value="bj">毕节</option>
            <option value="zy">遵义</option>
        </optgroup>
        <optgroup label="四川">
            <option value="wc">汶川</option>
            <option value="yb">宜宾</option>
            <option value="cd">成都</option>
        </optgroup>
    </select>
    <select name="" id="">
        <option value="gy">贵阳市</option>
        <option value="bj">毕节市</option>
        <option value="zy">遵义市</option>
        <option value="tr">同仁市</option>
        <option value="cs">赤水市</option>
    </select>

select功能

3.textarea

意义:大段文本编辑

代码实列:

<p>
<textarea name="information" id="" cols="30" rows="10">
</textarea>
</p>