Javascript 如何插入a<;脚本>;Django管理页面上的标记
我试图让JavaScript从Django管理上下文中获取一个变量集。“原始”对象已经存在,并且是我需要的模型对象。但是,我需要将对象名放入一个可以在JavaScript中使用的变量中Javascript 如何插入a<;脚本>;Django管理页面上的标记,javascript,python,django,Javascript,Python,Django,我试图让JavaScript从Django管理上下文中获取一个变量集。“原始”对象已经存在,并且是我需要的模型对象。但是,我需要将对象名放入一个可以在JavaScript中使用的变量中 <script> var className = "{{ original.__class__.__name__ }}"; </script> var className=“{{original.\uuuuuuuu class\uuuuuuu.\uuuuuuu name\uuuuu
<script>
var className = "{{ original.__class__.__name__ }}";
</script>
var className=“{{original.\uuuuuuuu class\uuuuuuu.\uuuuuuu name\uuuuuuuuuu}”;
我有一个内联和一个模型管理员,我可以使用它,但媒体类将只接受文件。我需要的是一种在不重写模板本身的情况下将上述代码插入管理模板的方法。重写模板要求我知道我的代码将确切驻留在哪里,而我不知道,因为此代码将是包的一部分
是否有办法动态更新
模板\u DIRS
设置对象?如果是这样的话,我可以使用模板方法来解决我的问题。实现这一点的一种方法是覆盖您的管理模板。现在,您应该创建一个应用程序,并在其中安装python和Django
之后,您可以通过打开一个python控制台来找到django路径:python
在控制台中键入以下内容:
import sys
sys.path = sys.path[1:]
import django
print(django.__path__)
这将输出django安装的路径。如果您使用的是virtualenv,通常是:
~/myproject/env/lib/pythonX.X/site-packages/django
因此,管理模板位于:
~/myproject/env/lib/pythonX.X/site-packages/django/contrib/admin/templates/admin
在那里,您可以像在普通django模板中一样添加脚本标记
请注意,virtualenv只是一个建议。您不必使用它,但这样做通常更好,因为它不会影响所有python/django项目,而只影响您正在使用env的项目 您是否尝试过覆盖管理模板?我已经在使用虚拟环境,但您的解决方案在我的情况下不起作用,因为我正在构建一个包而不是一个站点。这将最终成为Django的一个插件,我不知道最终用户将在哪里安装它。