我正在以这种方式向我的 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创建我的网址,我可以毫无问题地发送请求,非常感谢您提前。
答案 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 %}