запустите два списка одновременно в шаблоне django

#django #django-templates

Вопрос:

как запустить два списка одновременно в шаблонах Django без использования функции zip.

views.py

 l1=[1,2,3]
l2=[4,5,6]
return render(request,'home.html',{'l1':l1,'l2':l2})
 

Я передаю список этого типа на своей странице шаблона, теперь нужно запустить оба списка одновременно в шаблоне. как я могу это сделать.

Примечание—только я хочу сделать это на своей странице шаблона

Ответ №1:

В этом случае попробуйте создать фильтр шаблона:

 @register.filter(name='zip')
def zip_lists(a, b):
  return zip(a, b)
 

И в вашем шаблоне:

 {%for a, b in l1|zip:l2 %}
  {{a}}
  {{b}}
{%endfor%}
 

Таким образом, вам не нужно изменять свои взгляды
Более подробная информация: https://docs.djangoproject.com/en/dev/howto/custom-template-tags/

Комментарии:

1. Но это не повторение. Если мы хотим повторить, то нужен цикл. Точно так же, как метод zip работает так, как я хочу, чтобы та же работа выполнялась в шаблоне.