Где в Django переменные передаются в представление?
Я занимаюсь рефакторингом кода в представлении Django. Я работаю с представлением со следующими аргументами:
def title_views(request, key, group, sort):
group = get_object_or_404(Group, group=group, main_id = key)
default_sort = sort
Я знаю, что по умолчанию каждое представление должно иметь аргумент request
. Но что касается key, group, sort
, где я могу ожидать передачи этих элементов? Через шаблон, в котором вызывается представление? Я пришел сюда за помощью, потому что в документации нет ясности по этому поводу, по крайней мере, по моему опыту.
Спасибо!
Это параметры URL. Вероятно, URL, ссылающийся на это представление, выглядит так:
path('<str:key>/<str:group>/<str:sort>/', title_views)
или с помощью regex, что-то вроде:
re_path(r'(?P<key>\w+)/(?P<title>\w+)/(?P<sort>\w+)/')
Если вы посетите страницу типа foo/bar/qux/
, то она будет соответствовать шаблону пути и вызовет функцию с 'foo'
для key
, 'bar'
для title
, и 'qux'
для sort
.
Обычно параметры URL содержат данные, которые определяют способ фильтрации, упорядочивания и рендеринга содержимого.