簡體   English   中英

是否可以在Django模板的javascript中使用tempatetags?

[英]Is it possible to use tempatetags inside javascript in a django template?

我可以在Django模板的JavaScript中使用{% url 'ajax_choice_question' %}嗎?

例如:如何使這項工作?

urls.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);

如果您的模板標記在外部javascript文件(即STATIC_ROOT的文件)中,則您的模板標記將不起作用,因為django不提供這些javascript文件,因此您的網絡服務器可以。 Django僅提供您視圖中指定的模板的渲染結果,而不提供任何相關的javascript或css文件。

如果您希望此方法有效,則需要創建一個URL和視圖以使用上下文呈現javascript並將其提供給客戶端,但這是一個非常糟糕的主意。 您最好將相關的javascript包含在html文件中,並在其中使用模板標記,或者尋找另一種方式將模板標記的結果傳遞給外部javascript

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM