Python 为什么我的url路由不是';不行吗?
objectid转换器为。我在那里放了一些调试代码,发现它甚至没有被触发。我认为这与创建url规则的顺序有关,所以我尝试在声明所有其他规则之前用objectid声明url规则;然而,这根本没有帮助。 我的代码怎么了?以下是当前url映射:Python 为什么我的url路由不是';不行吗?,python,flask,pymongo,werkzeug,Python,Flask,Pymongo,Werkzeug,objectid转换器为。我在那里放了一些调试代码,发现它甚至没有被触发。我认为这与创建url规则的顺序有关,所以我尝试在声明所有其他规则之前用objectid声明url规则;然而,这根本没有帮助。 我的代码怎么了?以下是当前url映射: >>> url_for('.users_api', page=1) '/admin/user' >>> url_for('.users_api', page=2) '/admin/user/page/2' >>
>>> url_for('.users_api', page=1)
'/admin/user'
>>> url_for('.users_api', page=2)
'/admin/user/page/2'
>>> url_for('.users_api', user_id=users[0].id)
'/admin/user?user_id=521781f4fe8974125cef5ea9' # not what I expected
Map([
管理员\u模块用户\u api>,
管理员\u模块用户\u api>,
管理员\u模块用户\u api>,
管理员\u模块用户\u api>,
……还有一大堆规则。。
])
您的URL映射与规则定义和/或调用的URL\u不匹配。您定义了一个类似于/user/page/
的规则,但在URL映射中它是/admin/user/
(我猜/admin
部分是自动添加的,但/user/page/
与/user/
仍然不同)。想解释一下吗?@dAnjou我更新了。管理员是自动加前缀的。我不知道为什么这些int:
和objectid:
没有显示,来自其他蓝图的视图也没有显示它们收到的参数类型。
>>> url_for('.users_api', page=1)
'/admin/user'
>>> url_for('.users_api', page=2)
'/admin/user/page/2'
>>> url_for('.users_api', user_id=users[0].id)
'/admin/user?user_id=521781f4fe8974125cef5ea9' # not what I expected
Map([
<Rule '/admin/user/new' (POST, OPTIONS) -> admin_mod.users_api>,
<Rule '/admin/user/uid/<user_id>' (PUT, OPTIONS, DELETE) -> admin_mod.users_api>,
<Rule '/admin/user/page/<page>' (HEAD, OPTIONS, GET) -> admin_mod.users_api>,
<Rule '/admin/user' (HEAD, OPTIONS, GET) -> admin_mod.users_api>,
... # and a bunch of rules ..
])