使用jjery与django进行POST时出错

时间:2013-08-16 13:26:21

标签: jquery django

我在django的一个模板中使用了一个jquery对话框作为删除操作的确认,但问题是当我将数据发布到视图时,我在调试html代码时获得了“invalid regular expression flag d”问题出在这一行:

url : /certificates/delete/

这是我的代码:

模板:

function openDialog(id){

        $( "#dialog-confirm" ).dialog({
          resizable: true,
          height:140,
          modal: true,
          buttons: {
            "Delete This Entry": function() {
            $.ajax({
                type: "POST",
                    url: {% url delete_id %},
                    data: {'id': id},
                    success: function() {
                        $( this ).dialog( "close" ); 
                    }
                });
              $( this ).dialog( "close" );
            },
            Cancel: function() {
              $( this ).dialog( "close" );
            }
          }
        });
    }

观点:

def delete_id(request):
     id = request.POST.get('id', None) 

URL:

url(r'^delete/', views.delete_id,name='delete_id')

2 个答案:

答案 0 :(得分:1)

您正尝试在服务器端生成删除网址,但ID在客户端处理。

而不是拥有" id" url的参数部分,考虑将其移动到POST数据:

def delete_id(request):
     id = request.POST.get("id", None)
     if id is not None:
         print 'delete'

url(r'^delete/', views.delete_id,name='delete_id')

应用这些更改将使您的代码正常工作。

答案 1 :(得分:0)

我认为您需要更正这样的网址声明:

url(r'^delete/', entries.views.delete_id,name='delete_id')

在你的视图中写下这个

id = request.POST.get('id', None)

错误消息还表明它无法映射参数。