2009-10-26 1 views
0

В django, когда URL-адрес сопоставлен, группа соответствия передается как второй параметр функции просмотра, первый из которых является объектом HttpRequest. Например, с помощью URL скороговоркой, как этотURL-адрес Django в объекте HttpResponse?

'/foo/(\d{2})/', 'app.views.handler' 

процедура обработчик будет иметь

def handler(request, value): 

, где значение будет содержать две цифры номера (в виде строки).

Мой вопрос: есть ли значение, содержащееся в объекте запроса, и если да, то как его получить (разумеется, разбор URL-адреса из объекта запроса не является опцией, слишком непрактичным).

Thanks

ответ

0

Я не собираюсь обсуждать достоинства вашей идеи. Просто постарайтесь ответить на ваш вопрос:

Нет никакого способа, кроме повторного применения регулярного выражения к URL-адресу, чтобы получить параметр url.

Ваше представление будет первым, в котором будет доступен список параметров. Почему бы вам просто не создать объект-оболочку, чтобы инкапсулировать ваш запрос и список параметров в этот момент?

Просто передайте, что вокруг ...

0

Вы можете указать причину, по которой вам это нужно?

Я не понимаю, почему синтаксический анализ URL-адреса является «непрактичным», учитывая, что у вас уже есть регулярное выражение, которое работает в вашем urlconf.

+0

потому что тогда я бы дублировал регулярное выражение. –

+0

Но вы все равно хотите что-то дублировать, поскольку параметры уже переданы вашей функции просмотра, и вы хотите, чтобы они были где-то еще. Вы все еще не использовали прецедент. –

+0

, потому что я хочу передать только объект запроса как единый объект, а не объект запроса _and_ список параметров как два отдельных объекта. –