1. 程式人生 > >04,Django Form原始碼閱讀

04,Django Form原始碼閱讀

 

        form is_valid():執行順序:

  前面的註冊與登入都寫完了,但是心中一致有一個困惑,那就是    <wiz_code_mirror>                   1
if reg_form.is_valid():
    這段神奇的程式碼,怎麼就幫我們完成了對使用者輸入內容的校驗啦? 讓我們一探究竟。
        1、首先    Ctrl+左鍵    點選進入 is_valid()函式檢視原始碼
        2、點選is_bound
就是在例項化的時候只要form_obj = RegForm(request.POST)括號裡面只要有資料那麼.is_bound永遠True
        3、點選進入self.errors()
        4、點選進入self.full_clean()
        5、點選進入ErrorDict
 

其實在這裡就只是校驗了         reg_form = RegForm(request.POST)          例項物件裡面有沒有值而已

記下來就是根據我們自定義的校驗規則來做校驗了!
        然後在點選進入
                          當我們重寫父類的clean()方法時     如何將兩次輸入密碼不一致的資訊傳給模版頁面啦?