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>
向服务端发送数据
添加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('注册成功')
开启服务端
提交表单