{"id":3007,"date":"2016-11-27T09:42:48","date_gmt":"2016-11-27T01:42:48","guid":{"rendered":"http:\/\/ixyzero.com\/blog\/?p=3007"},"modified":"2016-11-27T09:42:48","modified_gmt":"2016-11-27T01:42:48","slug":"django%e7%9a%84%e4%bd%bf%e7%94%a8%e8%ae%b0%e5%bd%95_2","status":"publish","type":"post","link":"https:\/\/ixyzero.com\/blog\/archives\/3007.html","title":{"rendered":"Django\u7684\u4f7f\u7528\u8bb0\u5f55_2"},"content":{"rendered":"<p>=Start=<\/p>\n<h4>\u7f18\u7531\uff1a<\/h4>\n<p>\u8bb0\u5f55\u5728\u4f7f\u7528Django\u7684\u8fc7\u7a0b\u4e2d\u78b0\u5230\u7684\u5404\u79cd\u95ee\u9898\uff0c\u65b9\u4fbf\u4ee5\u540e\u53c2\u8003\u3002<\/p>\n<h4>\u6b63\u6587\uff1a<\/h4>\n<h5>1.\u78b0\u5230\u300cCSRF verification failed. Request aborted.\u300d\u600e\u4e48\u529e\uff1f<\/h5>\n<pre class=\"lang:default decode:true\" title=\"\u5728.ajax()\u4e2d\u7684\u8bf7\u6c42\">$.ajax({\n    data: {\n        somedata: 'somedata',\n        moredata: 'moredata',\n        csrfmiddlewaretoken: '{{ csrf_token }}'\n    },\n    ...\n})\n\/\/ http:\/\/stackoverflow.com\/questions\/5100539\/django-csrf-check-failing-with-an-ajax-post-request<\/pre>\n<p>&amp;<\/p>\n<pre class=\"lang:default decode:true\" title=\"\u5728form\u8868\u5355\u4e2d\u7684\u8bf7\u6c42\">&lt;form action=\"\" method=\"post\"&gt;{% csrf_token %}\n\n\/\/ https:\/\/docs.djangoproject.com\/en\/1.8\/ref\/csrf\/#how-to-use-it<\/pre>\n<h5>2.\u5728Django\u5e94\u7528\u4e2d\u5982\u4f55\u8fd4\u56dejson\u6570\u636e\uff1f<\/h5>\n<pre class=\"lang:default decode:true\">response_data = {}\nresponse_data['result'] = 'error'\nresponse_data['message'] = 'Some error message'<\/pre>\n<p>\u5728 Django 1.7 \u4e4b\u524d\u7684\u7248\u672c\u4e2d\uff0c\u53ef\u4ee5\u4f7f\u7528\u4e0b\u9762\u7684\u65b9\u6cd5\uff1a<\/p>\n<pre class=\"lang:default decode:true\">import json\nfrom django.http import HttpResponse\n\nreturn HttpResponse(json.dumps(response_data), content_type=\"application\/json\")<\/pre>\n<p>\u5bf9\u4e8e Django 1.7 \u4e4b\u540e\u7684\u7248\u672c\uff0c\u53ef\u4ee5\u4f7f\u7528Django\u5b98\u65b9\u63d0\u4f9b\u7684\u65b9\u6cd5\uff1a<\/p>\n<pre class=\"lang:default decode:true\">from django.http import JsonResponse\nreturn JsonResponse({'foo':'bar'})<\/pre>\n<ul>\n<li><a href=\"https:\/\/docs.djangoproject.com\/en\/1.10\/ref\/request-response\/#jsonresponse-objects\">https:\/\/docs.djangoproject.com\/en\/1.10\/ref\/request-response\/#jsonresponse-objects<\/a><\/li>\n<li><a href=\"https:\/\/docs.djangoproject.com\/en\/1.10\/ref\/request-response\/#id4\">https:\/\/docs.djangoproject.com\/en\/1.10\/ref\/request-response\/#id4<\/a><\/li>\n<li><a href=\"http:\/\/stackoverflow.com\/questions\/2428092\/creating-a-json-response-using-django-and-python\">http:\/\/stackoverflow.com\/questions\/2428092\/creating-a-json-response-using-django-and-python<\/a><\/li>\n<li><a href=\"http:\/\/www.ziqiangxuetang.com\/django\/django-ajax.html\">http:\/\/www.ziqiangxuetang.com\/django\/django-ajax.html<\/a><\/li>\n<\/ul>\n<h5>3.\u5f85\u6dfb\u52a0<\/h5>\n<p>\u2026\u2026<\/p>\n<p>=END=<\/p>\n","protected":false},"excerpt":{"rendered":"<p>=Start= \u7f18\u7531\uff1a \u8bb0\u5f55\u5728\u4f7f\u7528Django\u7684\u8fc7\u7a0b\u4e2d\u78b0\u5230\u7684\u5404\u79cd\u95ee\u9898\uff0c\u65b9\u4fbf\u4ee5\u540e\u53c2\u8003\u3002 \u6b63\u6587\uff1a 1.\u78b0\u5230\u300cCSR [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23,7],"tags":[687,627,688],"class_list":["post-3007","post","type-post","status-publish","format-standard","hentry","category-knowledgebase-2","category-programing","tag-csrf_token","tag-django","tag-jsonresponse"],"views":7590,"_links":{"self":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3007","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/comments?post=3007"}],"version-history":[{"count":0,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/posts\/3007\/revisions"}],"wp:attachment":[{"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/media?parent=3007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/categories?post=3007"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ixyzero.com\/blog\/wp-json\/wp\/v2\/tags?post=3007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}