4

如何避免在服務器端和客戶端使用Django重複驗證代碼?Django:避免服務器端和客戶端驗證代碼複製

鑑於Django遵循不重複自己的原則,似乎符合邏輯,有辦法做到這一點,但我不知道如何。

+0

呃,爲什麼你會? – Robus

+2

您必須驗證服務器端的數據,因爲您不能信任客戶端的任何內容。有人可以輕鬆繞過您放入網頁的任何驗證。您還*應*驗證客戶端上的數據 - 以獲得更快捷和愉快的用戶體驗以及稍微減少服務器負載。您希望消除哪兩種? – ratsbane

+3

@Robus,@ratsbane:我想我說的有兩種解釋,我不是說你們提到的那個。 :)我指的是*我的代碼*的重複,而不是驗證本身的重複。即如何避免重複自己(例如,一次使用JavaScript,一次使用Python)?例如,有什麼方法可以自動生成基於Python代碼的JavaScript驗證?或者以聲明方式編寫驗證並從中生成兩種代碼?等等。 – Mehrdad

回答

3

下面是一個未完成的(「阿爾法級」)項目,解決你的問題:http://eikke.com/django-validation-an-introduction/

如此以來一段時間 我一直在想建立一個Django templatetag其中 允許一個客戶機生成邊 Javascript表單驗證代碼 沒有自己編寫代碼 (除非使用自定義小部件).... 生成的項目被稱爲 django-validation

(又見Django ticket #19

+0

因爲他們用'WONTFIX'關閉了這個問題,所以我們需要實施,直到發佈一個好的包。 – brsbilgic

+0

+1感謝您的鏈接! – Mehrdad

相關問題