【发布时间】:2015-09-17 17:01:23
【问题描述】:
我有相当多的自定义模板标签,它们执行各种功能,包括:
- 简单的字符串转换
- 复杂 ui 元素的显示
- 时间戳操作和格式化
- 用户头像的处理和显示
- 等等...
所有这些功能都位于一个文件中:app/templatetags/custom_tags.py。当我想在模板中使用其中一个标签时,我使用{% load custom_tags %} 导入所有标签。
然而,在任何给定模板中实际使用的可用标签中只有一小部分。 换句话说,所有这些功能都被“加载”到模板中,但其中只有少数几个在特定的 Web 请求中调用。
- 就性能而言,这是否效率低下?我是否应该更保守地加载代码 - 即将我的自定义标签拆分为单独的文件并仅加载我需要的子集?
- 或者这无关紧要,因为所有标签都加载到内存中 - 即,随后在应用程序的其他位置调用
{% load custom_tags %}不会导致任何额外开销?
如果这个问题有不正确的假设或前提,我深表歉意。我很想更好地理解导入 python 代码的含义,或者特别是在 Django 环境中。
【问题讨论】:
-
您应该将标题编辑为特定的内容,例如“Django 是否缓存自定义标签和过滤器?”当前的标题听起来是基于意见的,可能会受到负面影响。
-
@approxiblue,非常感谢您的建议。部分问题肯定是我不知道如何正确提问。
-
你看过this pages吗,也许它可以帮助你回答你的问题!
标签: django django-templates python-import