动态URL规则
URL规则可以添加变量部分,也就是件更符合同规则的URL抽象成一个URL模式。
@app.route('/item/<id>') def item(id): return 'Item: {}'.format(id)
尖括号中的内容是动态的,范式匹配了/item前缀的URL都会被映射到这个路由上,在内部把id作为参数获得
使用特殊字段标记<variable_name>,默认类型是字符串,如果需要执行参数累心更需要标记成<converter:variable_name>这样的格式,converter有下面几种:
- string :接受任何没有斜杠"/"的文本 默认
- int 接受整数
- float 接受浮点数
- path 和默认相似 但是也接受斜杠
- uuid 只接受uuid字符串
- any 可以指定多种路径 但是需要传入参数
@app.route('/<any(a,b):page_name>')
访问/a/和/b/都符合这个规则,/a/对应的page_name就是a
如果我们不希望定制路径,我们还是可以通过传递参数的方式 比如 /pople/?name=a./pople/?name=b 这样我们就可以通过 name=request.args.get('name') 获得传入的name值
如果我们使用post方式请求,表单参数需要通过 request.form.get('name').