我正在Django构建一个RESTful API。你知道吗
一个API有6个参数,它们都有默认值。基本上我要用户通过0到6对参数和视图函数使用默认的rest。参数是无序的
例如:
/month/6/date/12/ # for June 12
/year/2012/month/6/ # for June, 2012
/date/12/year/2012/ # for 12 in every month in 2012
我希望这能奏效,但不行
# in urls.py
url(r'(?:([a-zA-Z]+)/(\d+)/)*','kwargs.views.aview')
# in views.py
def aview(request,*args):
# even in args are keys and odd are values
return HttpResponse(args)
在这一刻,我脑子里只有一个丑陋的解决方案:
# in urls.py
url(r'([\w/]*)','kwargs.views.aview')
# in views.py
def aview(request,args):
args = args.split('/')
# even in args are keys and odd are values
return HttpResponse(args)
有什么办法吗
在第一个正则表达式中,实际上只有两个组,它们一直被覆盖。我建议一个不那么难看的解决方案,通过在正则表达式中检查url的正确性,但只在一个完整的组中进行检查,并将单个参数拆分并转换为dict:
编辑:使用正确的reg-exp
相关问题 更多 >
编程相关推荐