0
我使用Jinja2來創建電子郵件通知消息,主要是錯誤通知。Jinja2 failsafe模板渲染
有時候我會收到關於錯誤細節的無效或不完整的數據。畢竟,當這種情況發生時,這是一種錯誤狀態。例如。字典項可能會丟失或者值類型可能不正確。在這種情況下,渲染失敗,但必須發送錯誤通知。
我可以做的異常處理程序如下:
- 要發送模板原樣。收件人至少知道錯誤事件的類型,但重要數據將丟失
- 發送僅包含原始數據的備份模板。這意味着要保留每條消息的兩個版本。
我真正想要的是在跳過所有錯誤的「best-efort」基礎上呈現模板。 Jinja2有沒有辦法做到這一點?
恐怕這並不像應用格式爲無值等數字或日期/時間錯誤保護正如我寫,我必須接受不一致的源數據,我無法預測數據中所有可能出現的問題。 – VPfB
然後我建議在你的模板中只使用安全值,然後是其他所有的字符串。不理想,但至少您可以在電子郵件中獲得信息。爲什麼不在jinja處理之前嘗試在你的代碼中加入錯誤處理? – aneroid
謝謝你的建議。通知系統只是通過RPC進行通信的大型系統中的幾個模塊之一。我希望在每個Jinja失敗的{{表達式}}'的位置上使它更加健壯和簡單''N/A「'是我所需要的。這樣的功能似乎不可用 - 這也是我的問題的答案。 – VPfB