Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django-javascript和css文件中的模板标记_Javascript_Css_Django_Django Templates - Fatal编程技术网

Django-javascript和css文件中的模板标记

Django-javascript和css文件中的模板标记,javascript,css,django,django-templates,Javascript,Css,Django,Django Templates,有没有办法将模板标记添加到javascript和css文件中?我会将它用于任何事情,从传入url到媒体url链接(图像路径等),再到基于用户权限的条件javascript 我只是有一个想法,也许我可以把它当作一个模板来提供,但是把url作为我的javascript文件。这是做这种事的唯一方法吗?如果是这样,它可能无法与我的媒体生成器配合使用,因此如果有更好的解决方案,我可能会想要一个更好的解决方案。你的想法是正确的。如果您想利用Django的模板工具,那么最简单的方法就是将JS文件作为模板提供。

有没有办法将模板标记添加到javascript和css文件中?我会将它用于任何事情,从传入url到媒体url链接(图像路径等),再到基于用户权限的条件javascript


我只是有一个想法,也许我可以把它当作一个模板来提供,但是把url作为我的javascript文件。这是做这种事的唯一方法吗?如果是这样,它可能无法与我的媒体生成器配合使用,因此如果有更好的解决方案,我可能会想要一个更好的解决方案。

你的想法是正确的。如果您想利用Django的模板工具,那么最简单的方法就是将JS文件作为模板提供。请参阅以了解类似您的情况。

您可以提供任何类型的内容,例如模板,它不必是HTML。但是,您可能无法将其与其他静态内容一起提供,具体取决于您的设置


如果您只想替换媒体URL之类的内容,一个选项是将这些模板“编译”成可以提供服务的静态文件。但是,这对于任何基于当前用户权限的有条件操作都不起作用。您需要编写一个脚本来调用
django.template.loader.render_to_string
,并在每次部署或更改媒体URL等时将结果写入文件。

至于JS文件中的动态内容,您必须像其他人所说的那样制作一个模板


但是,您可以非常轻松地使用将JS和CSS文件附加到特定的页面模板。(我使用它作为django cms的一部分,但它也可以独立工作。)

它允许您在普通页面模板中,在块中定义模板所需的静态资源。有一个用于CSS的块和一个用于JS的块。然后可以在base.html中打印这些块。它还处理重复文件,因此您不必担心多次添加相同的文件。看


使用此系统,您将不会发送任何受限的JS或CSS,因为django将只运行授权的模板,并且内容将永远不会添加到JS和CSS块。

如何定义django HTML模板中的JavaScript变量和CSS属性,在脚本样式标记之间?我知道这听起来像一个黑客,但在我看来,这是一个整洁的,因为这将允许您从一个点控制您的动态变量