"Could not parse reminder error" - 姜戈

"Could not parse reminder error" - django

当 jsevent 触发时,它将 link 参数转发给按钮的 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'),
....

Html 重定向到 django 的按钮

<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.

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

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

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