flask动态url规则

时间:2023-03-09 02:48:49
flask动态url规则

动态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').

自定义URL转换器