在AppEngine 應用程式中建立Go 範本以進行層次結構、編輯和重新載入
本文深入研究了基於Go 的AppEngine 中模板的結構應用程式、尋址層次結構、易於編輯和自動模板正在重新載入。
層次結構
要為範本建立層次結構,建議將範本儲存在套件的根目錄中的專用範本子目錄下。這允許有組織的組織並簡化 template.ParseFiles() 的遍歷。
易於編輯
在 .go 檔案中嵌入範本文字可能會妨礙使用 HTML 工具進行編輯。若要解決此問題,請將範本作為原始文字檔案儲存在 templates 子目錄中。雖然出於性能考慮,建議不要直接上傳模板,但還有其他方法。
自動重新載入
開發伺服器上的自動模板重新載入可以透過定義來實現包級模板變數。此變數在包初始化期間填充,並在任何模板更改時更新。
範例專案結構
考慮以下專案結構:
|-- app.yaml |-- app | +-- http.go |-- templates | +-- base.html +-- github.com +-- storeski +-- appengine |-- products | +-- http.go | +-- templates | |-- list.html | |-- detail.html +-- account |-- http.go +-- templates |-- overview.html |-- notifications.html
具有包裝擁有量的模組化方法
具有包裝擁有的模組化方法
建議的方法涉及使用套件來處理特定的URL 前綴。每個套件都擁有一個專用的模板子目錄,其中包含其模板。這種模組化允許特定於套件功能的模板處理。
擴充基本範本為了保持一致性,請建立其他範本可以擴充的基本範本。例如,您可以定義 templates/base.html 模板,並使用擴充模板函數讓其他模板繼承自該模板。
程式碼範例這裡有一個範例定義基本範本並解析其中的附加範本處理程序:
<!DOCTYPE HTML> <html> <head>
以上是如何在 App Engine 中有效建構 Go 範本以實現層次結構、輕鬆編輯和自動重新載入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!