Обработка обратной функции URL для представления django с несколькими kwargs

Я создаю приложение базы данных, используя django. Для большей части записанных данных требуется подтверждающая документация (эта документация сканируется и загружается). Многие из моих представлений django содержат ссылки на мое представление сканирования, и в это представление передаются аргументы. На самом деле представление, которое обрабатывает сканирование, занимает 9 необязательных kwargs. Я не могу понять, как настроить мой urls.py, чтобы он обрабатывал следующее:

HttpResponseRedirect(reverse('general_doc_upload', kwargs = doc_parameters))

Я уверен, что должен быть более приятный способ справиться с этим, чем пытаться написать Regex для каждой возможной комбинации kwargs.

К сожалению, у меня нет большой свободы действий с базовой структурой базы данных, это было указано клиентом, модели django (и соответствующие представления) были написаны, чтобы соответствовать этой структуре.


person Aidan Ewen    schedule 22.08.2011    source источник


Ответы (1)


В таких случаях размещение параметров в URL-адресе не работает. Вместо этого вы должны передать их как параметры GET - /my/url/upload/?param1=foo¶m2=bar и т. д.

В вашем urlconf просто сопоставьте базовый шаблон с r'upload/$' и получите параметры в своем представлении с request.GET['param1'] и т. д.

person Daniel Roseman    schedule 22.08.2011
comment
Для меня нет никакой реальной пользы от описательных URL-адресов, так что это будет работать отлично. Спасибо! - person Aidan Ewen; 23.08.2011