Как передать 2 аргумента из шаблона в представления в django? - PullRequest
1 голос
/ 24 марта 2020

Итак, я знаю, что могу передать один аргумент, например: {% url '... path ...' аргумент%}, но я хочу передать 2 аргумента, например {% url '... path ...' аргумент1 Аргумент 2%} Вот мой точный код: search. html:

{% for id, title, thumbnail in videos%}
    <a href="https://www.youtube.com/watch?v={{id}}"><img src="{{thumbnail}}">{{title}}</a><p style="display:inline;">   |   </p><a href="{%url 'select' id title%}">Add to playlist</a>
    <br>
{%endfor%}

urls.py:

path('select/<id>/<title>', views.select, name='select'),

Я получаю следующую ошибку: Обратное значение для 'select' с аргументами '(' omPiA5AsGWw ',' PRESLAVA - POSLEDEN ADRES / Преслава - Последен адрес, 2007 ')' не найдено. Попробован 1 шаблон (ов): ['select / (? P [^ /] +) / (? P [^ /] +) $']

Ответы [ 2 ]

1 голос
/ 24 марта 2020

Ваш заголовок содержит sla sh. Вы должны указать path как path converter :

path('select/<id>/<<b>path:</b>title>', views.select, name='select'),

При этом, я не уверен, что это хорошая идея, чтобы закодировать такие заголовки в URL, это сделает уродливые URL с большим количеством символов в процентах. Возможно, вы захотите взглянуть на slug s вместо [Django -doc] .

0 голосов
/ 24 марта 2020

Я не уверен, почему вы хотите пропустить два пути, но вы можете посмотреть на использование тегов условий в шаблоне, чтобы избежать большого количества жестко закодированных шаблонов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...