我在Django中有一个博客应用的Post
模型。它有一个名为body
的字段。在帖子中,我可能会使用Latex,所以我需要使用MathJax.js
。在某些帖子中,我添加了代码段,因此我使用了highlight.js
。在一些我使用两者,在一些我不使用它们。
我想加载相关的javascript,具体取决于body
模型的Post
字段(类似于THIS)。如何使相关的.js文件自动加载?
我知道我可以添加指标字段,例如hasLatex
(True
,False
)或hasCode
(True
,False
) 。但我很懒,我希望自动扫描Post.body
,只加载相关的js文件。
答案 0 :(得分:0)
在您的上下文中设置内容或使用模板上下文处理器。例如,如果form
键是我的上下文,我加载处理表单的代码。对于我几乎每个页面都想要的东西,我在上下文中放了一个no_something来禁用它。这是通过在基础模板中围绕标记添加条件来完成的。如果变量不存在或为假,则不会显示。
我还做的是将我的静态文件放在我的上下文中的列表中。 JavaScript位于context['js']
,context['css']
位于css。那些在我的标题中循环。我可以在基类中实现get_context_data,并且从中扩展的所有视图都将包含javascript和css文件。