Django學習隨手記(三)

2021-07-10 02:51:07 字數 621 閱讀 7397

除了自定義標籤(tag),django中還有自定義過濾器(filter)。相比較於tag,filter就簡單的多了。同樣以隨手記(二)中的時間為例,mytags.py中只需要這樣寫:

@register.filter(name='ti_to_date')

defti_to_date

(format_string):

""" 將時間戳轉換為日期格式的時間

"""timestr = float(format_string)

ltime = time.localtime(timestr)

return time.strftime("%y-%m-%d %h:%m:%s",ltime )

而在頁面上則只要這樣寫

}

如此,即完成了轉換。當然,這一段**還可以加上異常處理,此處不做詳細說明。

雖然兩者實現的功能是一樣的,但是filter更為精簡,它可以理解成定義了乙個方法(但是此處只知道傳乙個引數是這樣寫,多個引數就呵呵了,還有待研究),呼叫這個方法可比tag那洋洋灑灑的一大段簡單的多了。但是tag既然有那麼複雜的定義之類的,相信它能處理的肯定是更為複雜的問題,後面遇到了再補充吧。。

Django學習隨手記(四)

今天,在django中呼叫了乙個python指令碼,一直報錯。命令是 home zsc aliecs.py describeinstances,單獨拿出來在伺服器上執行沒有任何問題,但是在django中呼叫則一直報錯,非常糾結!錯誤如圖 查閱好多資料,最後在中找到了答案,原因在於編碼問題,大家都認為...

Django學習隨手記(五)

django中用fliter是查詢多條資料,get是獲取一條資料。兩者返回的資料格式也有一定的差異。查詢時,一條等於條件非常好寫,例如寫為get id 1 或者filter id 1 等,而大於等於,小於等於,in等條件則要寫成其他的方式。以下是查詢時所用的條件的一些整理 exact 精確等於 li...

Django學習隨手記(六)

django的除錯還是略蛋疼的,form表單提交後在.is valid 這一處檢驗出錯,但是系統不會自動報錯,欄位多的情況下壓根兒就不好判斷。用一下的方法來輸出錯誤的字段資訊 af post assetform request.post,instance asset for field in af ...