在jQuery / Javascript中使用Django模板标签?

我可以在Javascript中使用Django的模板标签吗? 就像在jQuery中使用{% form.as_p %}来动态地向页面添加表单一样。

是的,我经常这样做。 你的javascript必须通过django提供,但是如果你只是在html标题中将它作为内联javascript你就可以了。

例如:我使用它在我使用的动态formset上添加前缀。

 {% extends "base.html" %} {% block extrahead %}  {% endblock %} 

请注意“base.html”我有一个加载jquery库的html head ,其中包含{% block extrahead %}{% endblock %}

如果这是你的意思,你不能使用你的Javascript代码中的Django模板标签。 在渲染模板并将HttpResponse发送到客户端之后,所有Django变量和逻辑都停止存在。 在Javascript执行的那一刻,客户端(浏览器)不知道您使用模板生成的变量(例如“表单”)。

你可以做的是使用Javascript修改HTML页面,使用由Django模板呈现的HTML块。

如果您想在客户端生成HTML,我建议您查看客户端tempalte库(例如, JQuery模板 – 使用{%verbatim%} templatetag )。

如果你想在渲染的javascript中使用变量我(这是我的意见),那么认为这是一个坏主意。 但如果您只想为视图,媒体和静态文件生成URL,我会做很多事情。

看看这个github: jscssmin