Django:urls.py中的参数+日期命名组

时间:2013-02-07 12:52:53

标签: python django django-views django-urls

我的urls.py中有这个:

---urls.py---
urlpatterns = patterns('',
                       (r'^queryinfo3/(.*)/(.*)/(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})/$', queryInfo3),

以上代码希望符合这样的要求:

http://localhost:8081/queryinfo3/text1/text2/2012-02-07/

在我的views.py上,我有这个处理程序方法:

def queryInfo3(request, sname, urlkey, year=None, month=None, day=None):
       return HttpResponse("something")

不幸的是,我收到了这个TypeError:

queryInfo3() takes at least 3 arguments (4 given)

我做错了什么?

提前致谢!

更新 我试过这个:

def queryInfo3(request, sname, urlkey, year, month, day):
     ...

但我仍然得到一个TypeError:

queryInfo3() takes exactly 6 arguments (4 given)

1 个答案:

答案 0 :(得分:0)

您必须有两个网址,因为其他3个值等于无

(r'^queryinfo3/(\w+)/(\w+)/(?P<year>\d{4})/(?P<month>\d{1,2})/(?P<day>\d{1,2})/$', queryInfo3),

测试:

 localhost:8081/queryinfo3/text1/text2/2012/02/07

 (r'^queryinfo3/(\w+)/(\w+)/(?P<year>\d{4})-(?P<month>\d{1,2})-(?P<day>\d{1,2})/$', queryInfo3),

测试:

 localhost:8081/queryinfo3/text1/text2/2012-02-07