2010-03-07 50 views
3

我發現了類似的問題here,但我正在尋找更一般的解決方案。Django使用有效的HTML 4.01 Strict

現在,當Django爲您生成任何HTML(這主要發生在生成表單時),它默認使用自閉標記,即<br />而不是<br><br />是有效的XHTML,我也認爲HTML5,但它不是有效的HTML4。

是否有任何干淨的方式來覆蓋這個?或者用XHTML或HTML5來編寫django網站會更好嗎?

回答

1

當1.2的開發啓動時,有一個whole series of discussions,提出了一系列解決方案,但沒有達成共識。

但請參閱Simon Willison的Django-HTML project尋找一種可能的解決方案。

+0

嗯...謝謝。我通過討論閱讀的內容越多,我發現的潛在隱患就越多。我可能會堅持使用XHTML或HTML5,因爲它似乎是更簡單的選擇。 – 2010-03-07 15:56:15

1

你可以完全重寫django爲你輸出HTML的方式。 E.G:對於表單,您可以:

  • 通過使用屬性「as_xxx」在使用表,p或li的輸出之間進行選擇。
  • 打印表格label by label,選擇標籤包裝。
  • 使用widget來定義表單將如何打印到HTML。

當然,你需要新的表單來做到這一點,並在那裏使用Django 1.X.

+0

謝謝 - 這確實解決了一定的問題,但還有其他領域(如csrf令牌),我不得不單獨解決*嘆息* – 2010-03-07 15:38:09

+0

不是csrf標記,而只是V1之前的空字符串。 2? – 2010-03-07 16:33:02

+0

啊,我的錯誤,你可能在談論與'django.middleware.csrf.CsrfResponseMiddleware'遺留方法' – 2010-03-07 16:36:34

相關問題