无法构造包含3个参数的URL。 在web中找不到任何合适的现有示例。在
在路由器.py在
router = routers.SimpleRouter()
router.register(r'reservation(?P<param1>)', ReservationViewSet, 'reservation')
这只适用于一个参数。 再添加两个参数来解析URL的正确语法是什么:
http://127.0.0.1:8000/api/general/reservation?enterprise=4&start=01-01-2015&end=01-31-2016
是吗?在
谢谢!在
简而言之,我建议您选择一种或另一种方式,不要将GET参数与URL结构混合使用。在
获取参数
如果您使用的是这样的URI,那么您的URI可以这样写:},这是可选的,位于路径之后。在
path[?query]
,路径是/api/general/reservation
,查询是{要获得这些参数,您需要从请求中读取它们的值,例如
enterprise = request.GET['enterprise']
所以如果你想在你的视图集中保留这个结构,只需读取你的视图方法的参数
要使用这个方案并匹配您的路径只需如下所示
^{pr2}$(对于
r'reservation(?P<param>)'
,查询不是路径的一部分,因此不包括它)URL匹配中的参数
否则,如果您试图直接从URL解析这些内容,例如使用URL regex,那么您需要一个类似于
/api/general/reservation/4/01-01-2015/01-31-2016
的形式来匹配这种结构的东西reservation/(?P<enterprise>)/(?P<start>)/(?P<end>)
然后你的视图方法看起来像
相关问题 更多 >
编程相关推荐