Почему это соответствие Django не работает в urls.py? - PullRequest
1 голос
/ 27 марта 2011
(r'^signup(.*)password=goodbye$','abc.wall.views.register_goodbye'),

Это не работает. Это не соответствует! Даже когда я ударил это:

www.mydomain.com/signup?password=goodbye

Это не соответствует ему и просто пропускает его. Почему?

Примечание: я понимаю, что это не очень хорошая практика, чтобы соответствовать параметру GET. Тем не менее, это принудительно, и я должен сделать это из-за кода, который я не могу изменить.

Ответы [ 2 ]

1 голос
/ 27 марта 2011

URL не совпадают по параметрам запроса. Они берут путь (все до?) Из запроса и пытаются сопоставить его с регулярным выражением URL.

Что вам нужно сделать, так это обработать параметры GET в вашем представлении и, при необходимости, направить их оттуда к другим функциям. Пример:

request: http://www.mydomain.com/signup/?password=goodbye 

(r'^signup/$','abc.wall.views.signup_front')

def signup_front(self, request):
    query_param = request.GET.get('password', None)
    if query_param == "goodbye":
        return signup_goodbye(request)
    # other stuff here

def signup_goodbye(self, request):
    # blah
    # return render_to_response(..)
1 голос
/ 27 марта 2011
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...