当前位置: 代码迷 >> 综合 >> client 提交post 到 django出现403错误 csrf
  详细解决方案

client 提交post 到 django出现403错误 csrf

热度:36   发布时间:2023-12-18 07:13:58.0

      当采用客户端象django的服务器提交post请求时。会得到403,权限异常。

 

因为django针对提交的请教,有校验。所以会如此。

解决办法http://stackoverflow.com/questions/6800894/django-returns-403-error-when-sending-a-post-request

 

导入模块

from django.views.decorators.csrf import csrf_exempt

在函数前面添加修饰器

@csrf_exempt

 

 

[python]  view plain copy
  1. #客户端提交的post如果不加这段,会出现403error  
  2. @csrf_exempt  
  3. def api_blogs(request):  
  4.     if request.method == 'POST' and request.POST['page']:  
  5.         int_page = int(request.POST['page'])  
  6.     else:  
  7.         int_page = 1  
  8.   
  9.     blogs = dbBlog.objects.order_by('-created_date').all()  
  10.   
  11.     page_size = 10  
  12.     after_range_num = 5  
  13.     before_range_num = 6  
  14.   
  15.     paginator = Paginator(blogs, page_size)  
  16.   
  17.     try:  
  18.         blogs = paginator.page(int_page)  
  19.     except(EmptyPage, InvalidPage, PageNotAnInteger):  
  20.         blogs = paginator.page(1)  
  21.   
  22.     try:  
  23.         return_json = serializers.serialize('json',blogs.object_list)  
  24.     except :  
  25.         return_json = {  
  26.             'status'1,  
  27.             'msg' '提取blog异常'  
  28.         }  
  29.   
  30.     return HttpResponse(  
  31.         return_json  
  32.     )  
  相关解决方案