2012-10-10 114 views
0

我是Django的新手,我想知道從django模板中的數據解析消息的最佳做法。 我的模型中有各種令牌,需要用用戶友好的消息來替換。 像:Django模板消息解析

MyModelObject.MyProperty = 'FOO' 

becasue那正是存儲在數據庫中,但在模板中,我不能只輸出

{{ MyModelObject.MyProperty }} 

這是「富」。我可能想要輸出「這個值是Foo」之類的東西。或者任何以'FOO'爲關鍵字的字符串。 有沒有辦法在模板或其他支持的框架結構中聲明字典?

我寧願不編碼一長串條件。

回答

0

在您的視圖中創建一個將內部返回值映射到用戶友好消息的字典。將此詞典傳遞給您的模板。或者,您可能想要調查django消息傳遞框架 - https://docs.djangoproject.com/en/dev/ref/contrib/messages/

+0

argh。混合演示文稿和邏輯。但它會工作 –

+0

是的,它混合了演示文稿和邏輯...我喜歡保持我的代碼清潔,但沒有必要成爲肛門......在這種簡單的情況下,你可以逃脫它。一旦你的字典開始變得太大,或者你開始需要添加額外的邏輯到例如在你的錯誤消息中處理單數/複數,這是將邏輯移入你的視圖的絕對時間。但只要它很簡單......無論如何,如果您擔心混合邏輯/演示,那麼使用消息傳遞框架會更好。或者如果你需要更復雜的行爲,可以寫一個模板標籤。哦,如果你使用它,請接受我的答案。 – scytale