2012-12-12 104 views
1

我處於學習Django並嘗試讓我的Web應用程序運行的階段。通過教程後,我真的不喜歡模板系統(不允許Python代碼)。我可以用另一個替換它,比如Mako或其他東西嗎? 或者也許有比Django更好的Web框架,更好的意思是內置的函數更少要定製的東西,比如我自己的表單驗證?也許這是可能的,而不會搞亂小部件,這會將太多的顯示邏輯放入控制器中並且會導致代碼重複將Django模板替換爲

+0

我覺得同樣的,當我開始了與Django的,但如果你瞭解它的正確方式,與Django的可能性是無與倫比的。要回答你的問題,在模板中注入python代碼並不是一個好主意,並且絕對不建議使用 – karthikr

+0

Django是爲了讓開發人員避免受到攻擊而編寫的。能夠直接在模板中嵌入python代碼可能正是你想要做的。把它寫成「不是一個好主意」是過分簡單化的,並且從你的應用程序可以像垃圾一樣寫入這一事實中吸引注意 - 代碼和組織的質量完全取決於你構建它的決策。 Django恰好以一種適合所有的方式爲你做出了很多決定。這很好,但它可能不是你想要的。 – BenTrofatter

+0

你可以實現'exec'和'eval'模板標籤並將任意代碼放入django模板中。這是不推薦的,應該避免出於原因。 –

回答

2

Django模板有一個很好的理念。不要把代碼放進去。如果你可以在那裏自由編碼,結果就像一個無政府狀態(如果你曾經編碼PHP,你知道我在說什麼)。

表示如果你想切換,我建議你使用Jinja。這裏有一個偉大的職位由@dcramer:http://justcramer.com/2008/03/29/using-jinja-with-django/

有內置支持它的項目,像這樣的:https://github.com/niwibe/django-jinja

+1

同意100%,你不應該在模板中加入python代碼。 – computmaxer