2013-06-23 110 views
3

是否存在確定如何在模板中編寫代碼的編碼風格?
這樣:Django模板編碼風格

<tbody> 
    {% for row in body_rows %} 
    <tr> 
     {% for cell in row %} 
     <td>{{ cell.val }}</td> 
     {% endfor %} 
    </tr> 
    {% endfor %} 
</tbody> 

這樣的:

<tbody> 
{% for row in body_rows %} 
    <tr> 
    {% for cell in row %} 
     <td>{{ cell.val }}</td> 
    {% endfor %} 
    </tr> 
{% endfor %} 
</tbody> 

或本:

<tbody> 
    {% for row in body_rows %} 
     <tr> 
      {% for cell in row %} 
       <td>{{ cell.val }}</td> 
      {% endfor %} 
     </tr> 
    {% endfor %} 
</tbody> 

回答

3

在Django模板代碼規則很簡單,一致的,就像任何其他的編碼語言。把事情弄清楚,並且一直這樣做。

與Python不同,模板代碼實際上並不需要縮進,但我總是縮進,因爲我非常習慣Python的縮進。但這只是一個偏好問題。

但是,我和許多其他使用Django的人都喜歡第三種方法來處理剛剛展示的內容。這是我見過的最常見的類型,儘管第二種方式也很常見。

也可以將模板內部的邏輯保持在最低限度,並讓其他事情(如視圖和過濾器)在涉及邏輯時負責真正的繁重工作。

除此之外,你很好去。

還要記住,在Django中,你可以有不同的模板引擎,例如你使用的方式就是使用Django的默認模板引擎。你也可以選擇將django配置爲使用其他模板引擎,如Mako或Jinja(Python的所有模板引擎似乎都以日文命名)。

當涉及到它們的語法時,這些其他模板語言背後的社區有自己的操作方法。但在所有情況下,第三個都是最清晰的(對我來說,很多來自所有這些模板引擎的人似乎都在使用它們)。

所以,簡答題:第3個。長答案:你選擇了。

+0

tldr:「第3個,長答案:你選擇了。」 –