在 Django 中,如果存在的话,根据视图名称动态加载一些 JavaScript 的更聪明的方法是啥?

Posted

技术标签:

【中文标题】在 Django 中,如果存在的话,根据视图名称动态加载一些 JavaScript 的更聪明的方法是啥?【英文标题】:In Django what is the smarter way to dynamically load some JavaScript based on view name if exists?在 Django 中,如果存在的话,根据视图名称动态加载一些 JavaScript 的更聪明的方法是什么? 【发布时间】:2012-04-15 13:38:40 【问题描述】:

每次使用模板调用视图时,在 Django 中,我想加载一个同名的 javascript 文件(如果存在)。

所以,如果我调用视图foo,我想在特定(公共)目录中自动加载foo.js(如果存在)。

在模板中抽象这一点很容易,假设我将向模板传递一个要加载的 JavaScript 列表并将其加载到基本模板中。

但是我如何才能在不为每个视图编写代码的情况下为每个视图获得这个通用的呢?使用上下文处理器?怎么样?

【问题讨论】:

【参考方案1】:

在基于类的视图中,您可以添加一个 mixin 来将类名添加到上下文中。或者您可以将中间件与process_view 一起使用,并将视图的名称放在request 中的某处

【讨论】:

好的,谢谢,我会注意第二个选项,因为我现在还不能使用基于类的视图......但是中间件似乎是个好方法

以上是关于在 Django 中,如果存在的话,根据视图名称动态加载一些 JavaScript 的更聪明的方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

python 如果对象存在,Django会在视图中验证/验证

如何根据 Django 中当前基于类的通用视图模型向模板加载器添加路径

如何从中间件中的 Django 请求对象获取视图中使用的模型名称?

验证对象是不是存在于 django 视图中而不返回 404 的正确方法是啥?

验证对象是不是存在于 django 视图中而不返回 404 的正确方法是啥?

按函数名称的 Django 反向基于类的视图不起作用