2012-10-10 96 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