Ответ 1
Вы можете использовать тег шаблона без spaceless
. Это:
Удаляет пробелы между тегами HTML.
{% spaceless %}
<p>
<a href="foo/">Foo</a>
</p>
{% endspaceless %}
Я использую django и python. В файле шаблона у меня есть раскрывающийся список, который показан ниже. Оно работает. Единственная проблема заключается в том, что между исходным html-кодом существует много пробелов. Есть ли способ удалить пустое пространство? Благодарю.
{% for lang_ele in video.languages.all %}
{% ifequal lang_ele.lang display_language %}
{% for key, value in language_table.items %}
{% ifequal lang_ele.lang key%}
<option selected = "selected" value={{lang_ele.lang}}>{{value}}</option>
{% endifequal %}
{% endfor %}
{% else %}
{% for key, value in language_table.items %}
{% ifequal lang_ele.lang key%}
<option value={{lang_ele.lang}}>{{value}}</option>
{% endifequal %}
{% endfor %}
{% endifequal %}
{% endfor %}
Выходной код html souce выглядит следующим образом:
<option value=de>German</option>
<option value=el>Greek</option>
<option value=hi>Hindi</option>
Вы можете использовать тег шаблона без spaceless
. Это:
Удаляет пробелы между тегами HTML.
{% spaceless %}
<p>
<a href="foo/">Foo</a>
</p>
{% endspaceless %}
Посмотрите на среднюю программу, например "htmlmin". Он обрабатывает файл за раз. Кроме того, он имеет декоратор. https://crate.io/packages/django-htmlmin
gzip даст тот же эффект. Вероятно, стоило бы отказаться от обрезки. Посмотрите на django middelware или nginx gzip.
Вы используете логику контроллера/модели в шаблоне. Это неправильно.
Я использовал пользовательскую вспомогательную функцию с удалением. Вот пример, который я использовал также: http://justcramer.com/2008/12/01/spaceless-html-in-django/