我最近開始使用Django的模板,我經常發現在別人的代碼如下模式: Django模板和DRY - 如何避免重複HTML
{% ifequal value 1 %}
<input type="checkbox" name="{{ item.name }}" id="{{ item.name }}" checked="checked" />
{% else %}
<input type="checkbox" name="{{ item.name }}" id="{{ item.name }}" />
和Django模板變量條件正在使用
定義一個或多個HTML元素屬性的值。這複製HTML代碼並打破DRY原則。我怎麼能避免這種情況?替代我已經考慮:
1)嵌入所檢查的屬性的條件。
- 臨:兼容DRY-
- 缺點:使得代碼難以閱讀,特別是如果條件是更復雜的,多個HTML元素屬性使用模板變量操縱
2)定義的Javascript變量值並使用Javascript生成HTML元素。
- 臨:符合DRY-
- 缺點:移動邏輯客戶端
建議,歡迎。
解決這個問題的真正方法當然是使用Django的窗體框架。 –