0

我可以在 django 模板中使用{% url 'ajax_choice_question' %}内部 javascript 吗?

例如:如何使这项工作?

网址.py

url(r'^ajax/quest/$','getChoices',name='ajax_choice_question'),

在模板中

<script>
    var urllink="{% url 'ajax_choice_question' %}";
    alert(urllink);
</scritp>

更新

模板文件

{% block extrajavascript %}     
    <script src="/static/js/myjs.js"></script>      
{% endblock %}

myjs.js

var urllink="{% url 'ajax_choice_question' %}";
alert(urllink);
4

1 回答 1

1

如果您的模板标签在外部 javascript 文件中(即您的文件中的文件STATIC_ROOT),那么您的模板标签将不起作用,因为 django 不提供这些 javascript 文件,您的网络服务器可以。Django 仅提供视图中指定模板的渲染结果,而不提供任何相关的 javascript 或 css 文件。

如果你想让它工作,你需要创建一个 url 和视图来呈现带有上下文的 javascript 并将其提供给客户端,但这是一个非常糟糕的主意。您最好在 html 文件中包含相关的 javascript 并在那里使用您的模板标签,或者找到另一种方法将模板标签的结果传递给外部 javascript

于 2013-10-10T07:10:07.377 回答