在主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