【问题标题】:DJANGO 1.1 dynamic url on static javascript静态 javascript 上的 DJANGO 1.1 动态 url
【发布时间】:2017-10-31 04:53:38
【问题描述】:

上下文

我正在通过这种方式将静态 JavaScript 文件添加到我的 ModelForm

forms.py

class SomeForm(forms.ModelForm):

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

问题

在这个 javascript 上,我需要使用 jQuery 向托管在同一应用程序上的 rest 端点发送 GET 请求,但我需要服务器域或函数来构造我的 url。

some-javascript.js,

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

预期行为

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

【问题讨论】:

    标签: jquery django python-3.x


    【解决方案1】:

    您不能在静态 javascript 文件中使用 django 模板语言。 您有两种解决方法。

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

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

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

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

    【讨论】:

    • 但是我不用模板,我用的是**forms.ModelForm**,有什么方法可以使用模板,把modelForm的所有字段都加进去?
    猜你喜欢
    • 1970-01-01
    • 2013-06-06
    • 2014-02-21
    • 2021-08-10
    • 2013-05-14
    • 2018-02-21
    • 1970-01-01
    • 2010-12-30
    • 1970-01-01
    相关资源
    最近更新 更多