django有没有办法在没有传递参数的情况下获得反向网址?

时间:2017-01-24 16:20:08

标签: django django-rest-framework

我正在使用ajax数据将信息传递给我的页面,但是我需要创建一些使用javascript中的数据来调用视图的链接,因此参数通常在{% url 'jobs:close' foo %}执行时传递,例如,在呈现模板时不可用,但稍后通过ajax调用导入。显然,这会在渲染模板时导致错误。

有没有办法在这种情况下保持反向URL查找的好处,并在不传递foo的情况下动态获取模板中的URL,或者我是否需要在模板中硬编码URL将参数粘贴到最后?

2 个答案:

答案 0 :(得分:1)

不要在ajax响应中获取'foo',而是在ajax响应中获取反向url并替换需要url的DOM。

答案 1 :(得分:0)

在考虑了它并查看评论之后,我决定添加一个假参数并在之后将其删除。由于在呈现表单时将删除它,因此参数并不重要。我选择了1

所以,在我的模板中,我放了{% url 'jobs:close' '1' %}。然后在我的javascript中,当我在模态中调用表单时,我使用jquery来查找表单。只需再次使用相同的URL就可以了,所以这里是:

var modal = $("#modal");
var closeUrl =  '{% url 'jobs:close' '1' %}';
closeUrl = closeUrl.substring(0, closeUrl.length - 2) + event.data.id + /;
modal.find("#close-job").attr('action', closeUrl);

event.data.id是我存储我真正需要的工作ID的地方。

它并不像我想要的那样光滑,但效果很好。

相关问题