当jsevent触发时,它将链接参数转发到按钮的data-url属性,当用户单击该按钮时,它将重定向到django后端视图,但是JS的解析行存在问题
$('#btn_del')。attr('data-url',{% url 'event_delete'
+ event.id + %}
);
有没有机会结合使用该语法?
谢谢你,祝你愉快。
JS:
eventClick: function(event, jsEvent, view) {
$('#modalTitle').html(event.id);
$('#btn_del').attr('data-url',`{% url 'event_delete' ` + event.id + `%}`);
$('#calendarEditModal').modal();
console.log(event.id);
}
url.py
....
url(r'^event/(?P<pk>\d+)/delete/$', event_delete, name='event_delete'),
....
重定向到Django的HTML按钮
<button id="btn_del" type="button" class="btn btn-primary js-delete-events" data-url="">
<span class="glyphicon glyphicon-pencil"></span>
Edit
</button>
结果应该类似于这种格式 event.pk将成为我们的参数数值,没关系。
<button type="button" class="btn btn-primary js-delete-events" data-url="{% url 'event_delete' event.pk %}">
<span class="glyphicon glyphicon-plus"></span>
button
</button>
/event/1/update/ is the last result of seen from browser inspect. But I need to write inside jsEvent with django syntax to able to reach backend view which is {% url 'event_delete' event.pk %} something like that.
答案 0 :(得分:1)
否,无法以这种方式完成...模板({% url %}
标记)的解析是在服务器上完成的,甚至在浏览器未收到任何内容之前。浏览器不知道您在使用什么模板标签。
另一方面,JavaScript是在浏览器中执行的,因此模板语言也不了解其中的变量。
解决方案是使用类似Django JS Reverse的软件包。第二个方法是将完整的URL传递给JavaScript,就像它收到项目的ID一样。