2011-03-26 65 views
0

我想匹配的URL:如何在Django的urls.py中匹配这个URL?

开始/signup

password=goodbye

就这样结束。如果某件事从那开始并以此结束,我如何在正则表达式中匹配?

我知道我应该在urls.py中这样做,但我必须因为某些原因。

请回答我如何以这种方式匹配它。我必须这样做,因为iPhone客户端(无法更改)以这种方式对其进行了硬编码。我知道这不太理想,但我必须现在就这样匹配它。

回答

2
(r'^/signup/(.*)password=goodbye$', ... 
1

您应该只匹配/signup。你可以通过请求对象得到密码:

//Your url handler: 
def signup_handler(request): 
    password = request.GET["password"] 
    ... 

但你不应该传递密码作为GET参数...

+0

我知道,但是如果我想在URLs.py中匹配它呢? – TIMEX 2011-03-26 23:14:12

+0

@TIMEX URL仅针对路径进行解析:http://docs.djangoproject.com/en/dev/topics/http/urls/#what-the-urlconf-searches-against – 2011-03-26 23:43:49

6

永远不要发送密码的URL。它们属于POST正文,不存储在浏览器中(您可以在浏览器中重复POST,但POST数据不会存储在历史记录中)。

1

,你可以有这样的事情在你的urls.py:

(r'^/signup/password=(?P<password>.*)/$, signup_action) 

,并在您views.py您有:

def signup(request, password): 
    ..... 

PS:这不是一个好主意,通过密码url