js拼接html表单csrf_token,如何在javascript中使用{%csrf_token%}

在我的用户页面中,我使用ajax进行编辑.当我点击编辑时,它工作正常.但是当我提交表格时,它什么也没做.当我检查时,这是错误:

CSRF验证失败.请求中止.

那么,我如何在我的javascript中放置{%csrf_token%}?请指教.

谢谢.

edit.js:

function bookmark_edit() {

var item = $(this).parent();

var url = item.find(".title").attr("href");

item.load("/save/?ajax&url=" + escape(url), null, function () {

$("#save-form").submit(bookmark_save);

});

return false;

}

$(document).ready(function () {

$("ul.bookmarks .edit").click(bookmark_edit);

});

function bookmark_save() {

var item = $(this).parent();

var data = {

url: item.find("#id_url").val(),

title: item.find("#id_title").val(),

tags: item.find("#id_tags").val()

};

$.post("/save/?ajax", data, function (result) {

if (result != "failure") {

item.before($("li", result).get(0));

item.remove();

$("ul.bookmarks .edit").click(bookmark_edit);

}

else {

alert("Failed to validate bookmark before saving.");

}

})

return false;

}

save_form.html:

{% csrf_token %}

{{form.as_p}}

user_page.html:

{% extends "base.html" %}

{% block external %}

{% endblock %}

{% block title %} {{username}} {% endblock %}

{% block head %} Bookmarks for {{username}} {% endblock %}

{% block content %}

{% include "bookmark_list.html" %}

{% endblock %}

view.py:

@login_required(login_url='/login/')

def bookmark_save_page(request):

ajax = request.GET.has_key('ajax')

if request.method == 'POST':

form = BookmarkSaveForm(request.POST)

if form.is_valid():

bookmark = _bookmark_save(request, form)

if ajax:

variables = RequestContext(request, {

'bookmarks':[bookmark],

'show_edit':True,

'show_tags':True

})

return render_to_response('bookmark_list.html', variables)

else:

return HttpResponseRedirect('/user/%s/' % request.user.username

)

else:

if ajax:

return HttpResponseRedirect('failure')

elif request.GET.has_key('url'):

url = request.GET['url']

title = ''

tags = ''

try:

link = Link.objects.get(url=url)

bookmark = Bookmark.objects.get(

link=link,

user = request.user

)

title = bookmark.title

tags = ' '.join(

tag.name for tag in bookmark.tag_set.all()

)

except ObjectDoesNotExist:

pass

form = BookmarkSaveForm({

'url':url,

'title':title,

'tags':tags

})

else:

form = BookmarkSaveForm()

variables = RequestContext(request, {

'form': form

})

if ajax:

return render_to_response(

'bookmark_save_form.html',

variables

)

else:

return render_to_response('bookmark_save.html',variables)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值