有很多帖子和页面讨论了 Django 和 AJAX 的使用,我在过去一天左右阅读了数百篇文章来寻找这个问题的答案。快速概览:
可能的示例显示了这样的硬编码 URL:
$.post("/projects/create/", {"name" : name}, function(data) {...
或者有些使用 URL 模板标签,但没有参数:
$.post("{% url create_project %}", {"name" : name}, function(data) {...
但是,我想在 URL 中包含一个 Django 样式的参数。这是我的网址定义:
url(r'ajax/entity_name/(?P<pk>\w+)/$',EntityAjaxView.as_view(),name='entity_name'),
是的,我使用的是基于类的视图,它基于 DetailView。默认情况下,此视图会查找 URL 中提供的 pk 值,并且在我将使用的普通模板中:
{% url entity_name id_number %}
提供链接。在我的代码中,我想获取在输入框中输入的值作为 pk 值。这是我的 JavaScript 的片段(不起作用):
var id_number = $('#id_endowmententity_set-' + rownum + '-id_number').val()
$.ajax({
type: "GET",
url: '{% url entity_name id_number %}',
所以,我的问题是,我可以将 URL 模板标签与输入框中的值一起使用吗?
(我知道我可以使用 POST 而不是 GET 并在 POST 数据中传递 id_number,但这不适用于 DetailView。)
在此先感谢您的帮助。