DJANGO 1.1动态网址静态javascript

时间:2017-05-30 15:59:27

标签: jquery django python-3.x

上下文

我正在以这种方式向我的 ModelForm 添加静态JavaScript文件。

forms.py

class SomeForm(forms.ModelForm):

    class Media:
      js = ('some-javascript.js',)

问题

在这个javascript上我需要使用jQuery向同一应用程序上托管的其他端点发送GET请求,但我需要Server域或函数来构建我的URL。

一些-javascript.js

django.jQuery.get('{% url "validate_username" %}')

预期行为

如果我可以用django创建我的网址,我可以毫无问题地发送请求,非常感谢您提前。

1 个答案:

答案 0 :(得分:0)

您不能在静态JavaScript文件中使用django模板语言。 您有两种方法可以解决这个问题。

将您的javascript代码从静态文件移动到您的html模板。 像这样。

{% extends "base.html" %}
{% block extrahead %}
    <script type="text/javascript">
        $(document).ready(function() {
            $.get('{% url "validate_username" %}')
        });
    </script>
{% endblock %}

否则,将您的网址设置为javascript窗口对象,然后在静态JavaScript文件中使用它。 像这样。

{% extends "base.html" %}
{% block extrahead %}
    <script type="text/javascript">
        window.my_url = '{% url "validate_username" %}';
    </script>
{% endblock %}