限制用户可以在Flask URL参数中使用的值

时间:2017-10-29 19:02:18

标签: python flask

我有一个Flask视图,它接受一个url参数<div class="container"> <p class="center"> lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme</p> <p class="right">lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme lorem ipusme</p> </div>,它只能接受3个值:&#39;逗号&#39;&#39;管道&#39;和&#39;标签& #39 ;.

old_del

如果用户包含@app.route('/jobs/change-file-del/<str:file_location>/<str:old_del>') def process_feed(file_location, old_del='tab'): ... 的无效值,我想返回错误。我可以使用old_del语句来完成此操作,但有没有办法专门用Flask做这个?

1 个答案:

答案 0 :(得分:4)

内置any网址转换器。用它来指定有效值。如果它不匹配,您将获得404。

@app.route('/jobs/change/<str:name>/<any(comma, pipe, tab):delim>')
def process_feed(name, delim='tab'):
    pass

如果您想进行更复杂的检查,可以改为write your own converter