@PenguinVasily

Как отправить GET запрос с нужным значением?

Здравствуйте, я хочу добавить на страницу поиск по тегам.

Часть на стороне бекэнда я сделал. Я считываю из GET запроса строку, которая передается под ключом 'tags'. Выглядит эта строка примерно так: /index?tags=Тег1,Тег3,Тег4. Потом я формирую QuerySetиз необходимых тегов и передаю его в контекст шаблона.

Я попытался сделать выбор тегов черезcheckbox, но тогда запрос выглядит так: /index?Тег1=On&Тег3=On.

Как правильно реализовать формирование GET запроса? Для этого нужно подключать скрипт JS?

Шаблон:
<form action="{% url 'index' %}" method="get">
    {% for tag in tags %}
        <input type="checkbox" name="{{ tag }}">
        <span class='tag' style="color:#{{ tag.color.code }}; border-color:#{{ tag.color.code }} "> {{ tag }}</span>
    {% endfor %}
    <input type="submit" value="Найти">
</form>

Значение цвета текста и границ я переопределяю, потому что у каждого тега свой цвет.
  • Вопрос задан
  • 600 просмотров
Пригласить эксперта
Ответы на вопрос 1
@alexalexes
Не привлекая JS, можно поместить все включенные галки в ассоциативный массив:
<input type="checkbox" name="tags[{{ tag }}]">
Если выбрать галку 1 и 3, то на стороне сервера можно перехватить такую структуру как ассоциативный массив:
{'tags' : { 'Тег1': 'On', 'Тег3': 'On'} }
PS: можно сделать неассоциативный массив:
<input type="checkbox" name="tags[]" value="{{ tag }}">

{'tags' : [ 'Тег1', 'Тег3'] }
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы