什么时候使用Django模板标签“with”是个好主意?

时间:2012-05-09 08:12:46

标签: django django-templates

我理解with标记的最大目的之一是在模板中“缓存复杂的变量名称”。

但什么时候使用它是个好主意?

我假设如果我使用相同的模板变量使用count()all()filter()get()访问数据库,那么我应该使用{{ 1}}。

但是对于像with这样的简单字段查找呢?在特定的模板中,我会多次调用user.username

我是否应该user.username使用with,或者甚至可以通过字典从视图中传递一个简单的字符串?

1 个答案:

答案 0 :(得分:1)

with使用user.username的唯一原因是,如果您不喜欢每次都输入长名称。该查找几乎没有开销,因此尝试缓存它没有意义。

即使转发外键和一对一关系(如user.userprofile.name)也会在第一次使用时由ORM自动缓存,因此使用with也没什么意义。