2
我正在使用CherryPy和Jinja作爲模板系統在python中編寫應用程序。可能需要說我是這些工具的初學者。 我現在面臨的問題是我無法確定在哪裏初始化Jinja的Environment類。CherryPy + Jinja,在哪裏初始化環境
目前我有
- application.py(入口點,建立環境並啓動服務器)
- root.py(根頁面類CherryPy的,必須從 'application.py' 進口,並且必須導入'application.py'來檢索實例化的環境)
- pages.py(cherry.py的其他頁面類必須導入'application.py',並且必須從根目錄導入以構建樹)
試圖運行,看起來似乎是循環引用並失敗(應用程序> root>頁面>應用程序)。
我應該堅持只有一個環境實例,還是可以在root.py和pages.py中有一個實例?
這是正確的模式?
好,但模板模塊可以被多個模塊引用。 python是否知道'jinjaenv'應該是'相同的'實例對象,還是隻是在每次導入時實例化一個新對象? –
這將是同一個實例。模塊中定義的所有變量(類,函數)都是共享的。您可以將python模塊視爲一次加載並隨後在import語句的幫助下引用的對象。 –
接受答案,然後;) –