【发布时间】:2016-03-23 17:48:18
【问题描述】:
我尝试在 Django 模板中插入一个 javascript 循环,以便将其注入另一个模板的块中。
不知道有没有可能:
{% extends 'upload_form.html' %}
#template.html
{% block FILE_INPUT %}
{{ block.super|safe }} <script type="text/javascript">
{% for (var i=0, file; file=o.files[i]; i++) { %}
<tr class="template-upload fade">
<!-- ... -->
<td class="title"><label>Title: <input name="title[]" required></label></td>
<!-- ... -->
</tr>
{% } %}</script>
{% endblock %}
似乎django解释器循环“JS”作为标签/变量:
TemplateSyntaxError at /index/
'for' statements should use the format 'for x in y': for (var i=0, file; file=o.files[i]; i++) {
Request Method: POST
Request URL: http://localhost:8002/index/
Django Version: 1.8.5
Exception Type: TemplateSyntaxError
Exception Value:
'for' statements should use the format 'for x in y': for (var i=0, file; file=o.files[i]; i++) {
Exception Location: /usr/local/lib/python2.7/dist-packages/django/template/defaulttags.py in do_for, line 863
Python Executable: /usr/bin/python
Python Version: 2.7.6
Python Path:
有人会有这样的想法,让脚本只由浏览器解释?
非常感谢。
【问题讨论】:
-
应该有条件。
for(var i = 0; i<10; i++)你不见了i<10 -
嗯,是的.. 如果您将 for 循环包装在 django 模板语法中,它当然会认为您在使用 django 实用程序。你想达到什么目的?
-
抱歉,我说错了。我不尝试使用 Python 循环,但我尝试将 javascript 循环插入到 Django 模板中。已编辑主题
-
但是……为什么?如果你想要一个 JS 循环,使用一个 JS 循环;你为什么把它包装在 Django 标签中?
-
你说得对。这是愚蠢的。我做了/不能简单地更改javascript文件(/usr/local/lib/python2.7/dist-packages/jfu/等上的静态文件....)。我以为我可以直接从模板中更改它,但我会找到另一个解决方案。感谢您的回复!
标签: javascript django templates tags