在主urls.py
:查看到底需要2个参数(1给出)
url(r'^request/(Req_.*)/someoperation/',include(someoperation.urls))
在someoperation.urls
:
url(r'^query$', queryPage),
queryPage
样子:
def queryPage(request, request_id):
#somestuff
return HttpResponse('OK')
越来越打开的网址:
myhost:myport/request/Req_ABCXYZ/someoperation/query
但我得到这个错误:
ec/2014 05:41:18] ERROR [django.request:215] Internal Server Error: /request/Req_ABCXYZ/someoperation/query
Traceback (most recent call last):
File "/opt/xyz/build/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
response = callback(request, *callback_args, **callback_kwargs)
TypeError: queryPage() takes exactly 2 arguments (1 given)
可能是什么回事?我相信Req_.*
比赛Req_ABCXYZ
;所以它应该被传递到视图queryPage
。
任何线索?
Django应该捕获URL,即使没有尝试命名该参数。命名捕获的元素可以修复它,谢谢!我不知道为什么其他方式不起作用。 – user1265125 2014-12-05 12:50:36
啊,是的,好点。你的括号中包含了所有Req _。*,而你想要的是: 'url(r'^ request/Req _(。*)/ someoperation /',include(someoperation.urls))' – 2014-12-05 15:53:45