2010-09-23 129 views
0

嗨我有一个应用程序,可以正常工作,当我从浏览器中键入网址。它的工作原理类似于http://mysite/service?id=1234,如果我在浏览器上键入它可以正常工作,但是我们有另一个接受来自移动电话参数的服务,此服务会调用相同的url并将参数发布到它上面。如何从urls.py获取请求参数?

我知道它得到了尽可能urls.py因为我已经把一个日志记录机制,但它并不完全进入视图,我也在视图中的日志记录位。

所以这就是为什么我想要得到urls.py收到的确切的请求路径,以便我能够弄清楚服务是否正在搞砸。

这可能吗?

回答

2

当你说,你意味着,或者您使用随机这个关键,非常具体的动词?因为如果请求确实是一个,也将极有可能没有?id=1234作为URL的一部分 - 的参数,而不是将走在后的身体; URL的查询字符串部分通常仅用于GET请求,不是POST请求。

话又说回来,它很可能你只是用非常具体的动词随机的,因为你做“调用的URL”这是保证无稽之谈(一个“呼叫”一功能:有在网络的运作中,没有任何“调用URL”的概念; - )...但是我给你带来了怀疑的好处,因为如果你正确使用技术术语,使用POST实际上完全可以解释为什么显然你期望存在的URL的查询字符串部分可能完全不存在(将参数信息转换为后主体!)。

+1

+1。优秀的问题理解fu。 – 2010-09-23 04:13:33

+0

嗨,感谢您的回复,简单地说,我只是想从urls.py中访问HttpRequest.REQUEST,这样我就可以使用querystring,GET或甚至POST的基本URL来获取URL。 – Michael 2010-09-23 04:23:24

+0

@Michael:如果您正在尝试排除为什么请求没有将其显示到视图中,则可以在此处发布您的网址配置。另外,你可以通过编写一个catch-all视图来进行调试(在你的url中匹配“^ $”,将它添加到配置的顶部),它仅仅记录整个请求。 – 2010-09-23 04:28:51

0

从urls.py来看:如果是打不认为是WS一个,你有没有试过

(r'^ws$','www.views.ws'), 

你忘了,包括网址,你与测试,所以很难说。

如果你使用的是unixy系统,我推荐使用kodos来测试一个urlpattern对一个实际url的正则表达式。