NoReverseMatch at / account / profile

时间:2017-11-15 15:23:40

标签: django django-urls

尝试在按下按钮时运行JS函数和Ajax点击调用时,我收到以下错误消息。

/ account / profile /的NoReverseMatch 反向''未找到。 ''不是有效的视图函数或模式名称。

我知道这是因为网址,但我不确定我的网址有什么不对。

在使用linting工具时,我的代码中也会收到有关缺少分号的注释错误消息,但添加逗号似乎会破坏代码。如果我将我的网址更改为' / requestaccess /'我会在控制台中看到该帖子,但该视图无效。

JS中的

我的var被定义为

                  var url = '{% url requestaccess %}';

在ajax中我尝试使用以下方式调用网址:

                  $.ajax({
                      url: url,
                      data: JSON.stringify({ report_id: SelectedItems }),
                      dataType: 'json',
                      type: 'post',
                      success: function (data) {

URL.py设置为:

   url(r'^requestaccess/$', views.requestaccess, name='requestaccess')

我的整个代码块是:

                  <script>
$(document).ready(function () {
                      var SelectedItems = [];
                      $('.checkbox').click(function () {
                          var SelectedItems = $(this).val();
                          var index = SelectedItems.indexOf(SelectedItems);
                          var url = '{% url requestaccess %}';
                          if (index == -1)
                          {
                            SelectedItems.push(SelectedItems);
                          }        else {
                            SelectedItems.splice(index, 1);
                          }
                        });

                      $('#submit-button').click(function (event) {
                          event.preventDefault();
                          $.ajax({
                              url: url,
                              data: JSON.stringify({ report_id: SelectedItems }),
                              dataType: 'json',
                              type: 'post',
                              success: function (data) {
                              }  //missing comma before closing curly brace
                            });
                        });
                    });
                  </script>

1 个答案:

答案 0 :(得分:0)

使用URL标记时,在网址名称周围加上两个引号,如下所示

var url = "{% url 'requestaccess' %}";

完成!