#python #django
#python #django
Вопрос:
Я помню, как где-то читал, что захваченные параметры в URL могут быть переданы дополнительным параметрам. Например:
url(r'^products/(?P<object_id>d )/$',
'someview',
{parameter: <object_id>},
name='someview'),
В этом случае я хочу передать object_id
в дополнительные параметры. Могу ли я это сделать? Я просто не могу вспомнить, где я читал об этом трюке. Или, может быть, я плохо помню.
Ответ №1:
Вот пример:
url(
(r'^(?P<base62_id>w )$', 'shortener.views.follow'),
}
…
Представление может получить к нему доступ как:
def follow(request, base62_id):
Комментарии:
1. Я это знаю. Но это не мой вопрос.
Ответ №2:
Дополнительные параметры — это просто extra. Вам не нужно «передавать» параметр в URL, потому что это делается по умолчанию. Дополнительные параметры предназначены для значений, которые всегда должны передаваться в представление, независимо от того, что исходит из самого URL.
Комментарии:
1. Тогда, возможно, я ошибаюсь. Я думал, что прочитал трюк с передачей захваченного параметра url в дополнительные параметры для форматирования строк чего-либо.
2. Я снова просматриваю документы django и обнаруживаю, что функция redirect_to может захватывать параметры в URL и передавать их в url при условии, что url содержит некоторую строку формата: docs.djangoproject.com/en/dev/ref/generic-views /… . Но я чувствую, что это бесполезно, поскольку я не буду жестко кодировать URL в urls.py. Я думаю, что это более полезно в 1.3, поскольку начиная с этой версии есть reverse_lazy (я все еще использую 1.2).