0

我的 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)
4

1 回答 1

0

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

(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
于 2013-02-07T12:57:05.373 回答