Diango之通过form表单向服务端发送数据

 通过form表单向服务端发送数据

 

 

表单元素

表单:form></form>表单用于向服务器传输数据。另外一种向服务端传输数据的方式为ajax。

form属性:
action:提交表单地址,默认当前页面
method:提交表单的方法,常用的两种方法:get、post
enctype:文件传输的方式

文本输入框:<input type="text" >

密码输入框:<input type="password">

单选框:<input type="radio">

多选框 :<input type="checkbox">

文件框:<input type="file">

下拉框:

<select name="生日">
<option value="1991">1991</option>
<option value="1992">1992</option>
<option value="1993">1993</option>
</select>

文本框:<textarea></textarea>

提交按钮:<input type="submit">

重置按钮:<input type="reset">

普通按钮:<input type="button">

 

属性详解

name: 表单提交项的键.注意和id属性的区别:name属性是和服务器通信时使用的名称;而id属性是浏览器端使用的名称,该属性主要是
为了方便客户端编程,而在css和javascript中使用的。

value两种用处:
第一种表单提交项的值
第二种设置值 


readonly: 只读. text 和 password

disabled: 不可用,对所用input都好使.

placeholder:设置隐文本

提交按钮背景为图片:<input type="submit" src="图片路径">

radio 和 checkbox 默认被选中:checked="checked"

下拉框实现默认:selected="selected"


访问本机下的8080开启的服务

  

 

 

实现简单的表单

 要实现数据提交给服务端

注意:

指定表单处理地址,与请求方法。

 所有需要用户选择,输入的标签,如文本框,密码框,文件输入框等都需要加上name属性。

如果有文件上传:加上enctype属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<form action="http://127.0.0.1:8080/index.html" method="get" enctype="multipart/form-data">
<p>文本框:<input type="text" name="username" placeholder="姓名"></p>
<p>密码框:<input type="password" name="passwd" placeholder=" 密码"></p>
<p>单选框:男<input type="radio" name="gender" value="men">女<input type="radio" name="gender" value="women"></p>
<p>复选框:音乐<input type="checkbox" name="hobby" value="music">电影<input type="checkbox" name="hobby" value="movice"></p>
<p>文件输入框:<input type="file" name="file"></p>
<p>下拉输入项:
<select name="生日">
    <option value="1991">1991</option>
    <option value="1992">1992</option>
    <option value="1993">1993</option>
</select>
</p>
<p>提交按钮:<input type="submit"></p>
<p>重置按钮:<input type="reset"></p>
</form>
</body>
</html>
  
View Code

 

 

 

向服务端发送数据

 

添加url

path('index.html/',views.index)

  

 添加处理函数

def index(request):
    print request.POST
    print request.GET
    print request.FILES
    for item in request.FILES:
        fileObj = request.FILES.get(item)
        f = open(fileObj.name, 'wb')
        iter_file = fileObj.chunks()
        for line in iter_file:
            f.write(line)
        f.close()
    return HttpResponse('注册成功')

  

  

开启服务端

 

 

 

提交表单

 

 

 

 

 

posted @ 2019-02-17 17:44  -零  阅读(455)  评论(0编辑  收藏  举报