Flask add_url_rule with options会抛出意外的关键字参数

时间:2014-09-12 13:15:12

标签: python flask

我正在尝试使用Flask Blueprints添加动态运行时路由。我正在调用add_url_rule()并将一些数据传递给视图。

def add_special_route(route_url, data):
    myblueprint.add_url_rule(route_url, view_func=my_special_view_function, specialparameter=data)

def my_special_view_function(specialparameter):
    return specialparameter.some_string_x

编译器不喜欢特殊参数。错误是unexpected keyword argument。我期待它进入add_url_rule上的**选项kwargs。

我查看了使用**选项的示例的文档。不多。

我做错了什么?

1 个答案:

答案 0 :(得分:2)

视图的默认参数应该在带有defaults关键字参数的字典中传递:

def add_special_route(route_url, data):
    myblueprint.add_url_rule(
        route_url, view_func=my_special_view_function,
        defaults={'specialparameter': data})

请参阅URL Route Registrations documentation