GET参数提供方法
在url连接最后添加”?名称=值&名称=值……”
在浏览器url地址栏手工输入
也可以通过超链接提供
在网页中通过表单的形式提供
获取GET参数
request.query.name
参数名name不存在时,则返回空字符串
from bottle import route,run,request
htmlstr = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bottle</title>
</head>
<body>
<form action="/get" method="get">
label>姓名:</label>
<input type="text" name = "name"/>
<label>手机号:</label>
<input type="text" name = "telephone"/>
<label>邮箱:</label>
<input type="text" name = "email"/>
<input type="submit" />
</form>
</body>
</html>
"""
@route('/')
def index():
return htmlstr
@route('/get')
def getpara():
name = request.query.name
telephone = request.query.telephone
email = request.query.email
return '姓名:%s 手机号:%s 邮箱:%s'%(name,telephone,email)
run(host='localhost',port=80,debug=True,reloader=True)
点击“提交查询”
POST参数提供方法
- 在< form>标签中加入method=‘post’属性
获取POST参数
- request.form.get(‘name’)
参数名name不存在时,则返回空字符串
from bottle import route,run,request,post
htmlstr = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>bottle</title>
</head>
<body>
<form action="/post" method="post">
<label>姓名:</label>
<input type="text" name = "name"/>
<label>手机号:</label>
<input type="text" name = "telephone"/>
<label>邮箱:</label>
<input type="text" name = "email"/>
<input type="submit" />
</form>
</body>
</html>
"""
@route('/')#也可以使用@get('/')默认是GET方法
def index():
return htmlstr
@route('/get')
def getpara():
name = request.query.name
telephone = request.query.telephone
email = request.query.email
return '姓名:%s 手机号:%s 邮箱:%s'%(name,telephone,email)
@post('/post') ##或者@route('/post',method='POST'),POST方法要指定
def post():
name = request.forms.get('name')
telephone =request.forms.get('telephone')
email =request.forms.get('email')
return "<p>姓名:%s <br/> 手机号:%s <br/> 邮箱:%s </p>" %(name,telephone,email)
run(host='localhost',port=80,debug=True,reloader=True)
- request.POST.decode(‘utf-8’)
- request.POST.get(‘name’)
重写上面的post业务函数
@post('/post') ##或者@route('/post',method='POST'),POST方法要指定
def post():
#第一种方法
# name = request.forms.get('name')
# telephone =request.forms.get('telephone')
# email =request.forms.get('email')
#第二种方法
request.POST.decode('utf-8')
name = request.POST.get('name')
telephone = request.POST.get('telephone')
email = request.POST.get('email')
return "<p>姓名:%s <br/> 手机号:%s <br/> 邮箱:%s </p>" %(name,telephone,email)
得到相同的结果