0

当 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);
        }

网址.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.
4

1 回答 1

1

不,不能那样做...{% url %}在浏览器收到任何内容之前,您的模板(标签)的解析就在服务器上完成了。浏览器不知道您使用的是什么模板标签。

另一方面,JavaScript 是在浏览器中执行的,因此模板语言也不知道其中的变量。

解决方案是使用像Django JS Reverse这样的包。第二个是将完整的 URL 传递给 JavaScript,就像它接收项目的 ID 一样。

于 2019-05-13T16:24:22.260 回答