一、参数设置
1.参数类型
a)string
b)int
c)float
2.未指定参数类型
在url中传入参数时,如果没有指定参数的类型,会默认为参数是string类型。
如下:
没有给id指定参数类型,id默认是string类型,想要对id做运算,就必须先转化成int类型,最后返回的内容必须是字符串,所以再转成string类型。
@house_blueprint.route('/<id>/')
def h(id):
id = int(id) ** 5
id = str(id)
return id
运行结果:
3.指定参数类型
(1)int、float类型
给参数指定类型,就在参数前加上参数类型和冒号即可。如下,指定id是int类型,可以直接进行运算。
@house_blueprint.route('/<int:id>/')
def h(id):
id = id ** 5
id = str(id)
return id
运行结果:
(2)path类型
指定path类型,可以获取当前路径,值得注意的是获取的不是完整路径,只是此处传入的路径参数,如下获取的路径是 testpath/test。
@house_blueprint.route('/<path:url_path>/')
def h(url_path):
return 'path:%s' % url_path
运行结果:
(3)uuid类型
@house_blueprint.route('/<uuid:uu>')
def h(uu):
return 'uu:s' % uu
二、请求方式设置
flask中请求默认是get请求,若想要指定其他请求方式,用参数methods指定。如用户注册时,需要把用户填写的数据存入数据库,生成一条新用户的记录,此处就需要用到post请求。
@house_blueprint.route('/register/', methods=['POST'])
def register():
register_dict = request.form
username = register_dict['usrename']
password = register_dict.get('password')
user = User()
user.username = username
user.password = password
db.session.add(user)
db.session.commit()
return '创建用户成功'