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

0 投票
1 回答
1287 浏览
提问于 2025-04-17 15:06

我在我的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")

可惜的是,我遇到了这个类型错误:

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

我哪里做错了呢?

提前谢谢大家!

更新

我试了这个:

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

但是我还是遇到了类型错误:

queryInfo3() takes exactly 6 arguments (4 given)

1 个回答

0

你需要两个网址,因为其他三个值都是空的,也就是没有内容。

(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

撰写回答