我可以在django模板中的javascript中使用{% url 'ajax_choice_question' %}
吗?
例如:如何使这项工作?
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 %}
var urllink="{% url 'ajax_choice_question' %}";
alert(urllink);
答案 0 :(得分:1)
如果您的模板标签位于外部javascript文件中(即STATIC_ROOT
中的文件),那么您的模板标签将无效,因为django不会为您的网络服务器提供这些javascript文件。 Django仅提供视图中指定的模板的渲染结果,而不是任何相关的javascript或css文件。
如果你希望这个工作,你需要创建一个url和view来呈现带有上下文的javascript并将其提供给客户端,但这是一个非常糟糕的主意。你最好在你的html文件中包含相关的javascript并在那里使用你的模板标签,或者找到另一种方法将模板标签的结果传递给外部javascript