【问题标题】:"Could not parse reminder error" - django“无法解析提醒错误” - django
【发布时间】:2019-05-13 14:38:02
【问题描述】:

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

【问题讨论】:

  • 请显示最终的 HTML,而不是服务器端源代码。
  • @ChrisG 这与所需要的相反。 “无法解析余数”是 Django 模板语言的错误。
  • @BCA 我真的无法理解您期望它如何工作。早在 JS 在浏览器中执行之前,Django 模板标签就在服务器上进行评估。

标签: javascript python django view angularjs-events


【解决方案1】:

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

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

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

【讨论】:

  • 好的,我明白了。谢谢你。但是如果我发送到按钮属性怎么办我应该如何调用那个特定的视图函数?我这样发送该链接: 我需要触发该视图功能。我是 django python 的新手,如果它不合逻辑,我很抱歉。
  • 现在就在你的javascript中使用它。抱歉,这不再是与 Django 相关的问题,而是与 JavaScript 相关的问题,我没有知识可以帮助您...
猜你喜欢
  • 2012-05-10
  • 2019-07-24
  • 2016-07-21
  • 2013-01-05
  • 2013-03-17
  • 2016-04-03
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
相关资源
最近更新 更多