一、csrf是django的一个中间件,提供跨站请求保护功能.默认在setting中是已经有这个中间件了。
'django.middleware.csrf.CsrfViewMiddleware',
1、在HTML的form中一定要加上{% csrf_token %},在view中不需要坐任何操作.推荐使用render来渲染
<form id="login_form" method="post" action="{% url "login" %}">{% csrf_token %}
<input type='text' value=''>
</form>
2、如果是JS中得POST请求,必须导入csrf_exemt和相应的装饰器来关闭验证,代码如下:
Java_script代码:
$(document).on("click",".InterFaceList_Link", function () {
var pro_id = $(this).attr("name");
$.post("/inter_face_list/",{"pro_id":pro_id}, function (data) {
var right = $(".right");
right.empty();
right.append(data);
})
})
Views.py代码:
# -.- coding:utf-8 -.-
import logging
from django.shortcuts import render
from django.http import HttpResponse,HttpResponseRedirect
from django.contrib.auth import login,logout,authenticate
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def interface_list(request):
if request.method == "POST":
print request.POST
if request.method == "GET":
return render(request,"InterFaceList.html")