30

私はジャンゴとパイソンを使用しています。テンプレート ファイルには、以下のようなドロップダウン リストがあります。できます。唯一の問題は、ソースの 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 ソース コードは次のようになります。

<option value=de>German</option> 


<option value=el>Greek</option> 


<option value=hi>Hindi</option> 
4

3 に答える 3

59

spacelessテンプレートタグを使用できます。これ:

HTML タグ間の空白を削除します。

{% spaceless %}
<p>
    <a href="foo/">Foo</a>
</p>
{% endspaceless %}
于 2012-10-29T15:55:40.817 に答える
4
  1. "htmlmin" などのミドルウェアに注目してください。一度にファイルを処理します。さらに、デコレータがあります。 https://crate.io/packages/django-htmlmin

  2. gzip でも同じ効果が得られます。おそらく、トリミングをオプトアウトするにはコストがかかるでしょう。django middelware または nginx gzip に注目してください。

  3. テンプレートでコントローラー/モデル ロジックを使用します。これは間違った方法です。

于 2012-10-29T20:07:07.270 に答える
1

ストリッピングでカスタム ヘルパー関数を使用しました。これも私が使用した例です: https://web.archive.org/web/20140729182917/http://cramer.io/2008/12/01/spaceless-html-in-django/

于 2012-10-29T15:55:31.597 に答える