`

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

阅读更多

      当采用客户端象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.     )  
分享到:
评论

相关推荐

    基于Django2.1.2的OAuth2.0授权登录

    客户端使用授权码、client_id、client_secret和回调URL向授权服务器发送POST请求,换取访问令牌。这个令牌是短期的,用于后续的API请求。 8. **使用访问令牌**: 拥有访问令牌后,客户端可以使用它来访问用户授权...

    使用django实现用户登录

    对于登录页面的错误处理,比如输入验证和防止跨站请求伪造(CSRF),Django也提供了内置支持。你可以通过在表单中添加`{% csrf_token %}`模板标签来启用CSRF保护。 在测试方面,Django提供了`Client`类,可以模拟...

    Qt登录及Nginx上传回调及Django上传服务器等

    - 使用`@csrf_exempt`装饰器禁用了CSRF保护,这是因为Nginx发送的POST请求不会携带CSRF令牌。 - 从请求中获取上传文件的相关信息。 - 创建一个新的`FileUpload`实例并将文件信息存储到数据库中。 #### 3. Qt上传...

    HTTP上传文件client.zip

    6. **客户端实现**:在客户端(如网页、移动应用)中,通常会使用JavaScript的FormData对象来处理文件上传,它可以将文件添加到POST请求中。对于原生应用,如Android或iOS,会使用相应的API来实现文件选择和HTTP请求...

    clientAndsever_client_and_sever_

    4. 请求与响应:当客户端发送请求(如GET、POST)到服务器时,服务器解析请求,执行相应的操作(如查询数据库、处理数据),然后返回一个响应,包含状态码(如200表示成功,404表示未找到)和可能的数据。...

    django中账号密码验证登陆功能的实现方法

    ip_address = get_client_ip(request) history, created = LoginHistory.objects.get_or_create(user=user.username, ip=ip_address) history.count += 1 history.save() # 检查是否需要锁定账户 if history....

    app接口传递json格式参数

    对于大型项目,使用成熟的框架如Spring Boot或Django可以帮助简化开发过程,并提供丰富的功能支持。 总之,“app接口传递json格式参数”是现代移动应用开发的核心部分,涉及Java后台创建JSON对象、发送HTTP请求,...

    Web 应用开发原理与技术

    Web应用开发原理与技术是现代互联网时代不可或缺的一部分,它涵盖了从服务器端到客户端,再到用户交互的全过程。本文将深入探讨这一领域的核心概念、技术框架和开发实践。 首先,我们来理解Web应用的基本架构。传统...

    twilio python自动拨打电话,播放自定义mp3音频的方法

    from django.views.decorators.csrf import csrf_exempt class NotifyCall(APIView): def post(self, request): temp = """ 一个公网可以访问的mp3文件路径,比如我用的自己的腾讯云服务器上的某个文件 ...

    凡人网络购物系统生成html

    - 路由系统负责分配URL请求到对应的处理函数,比如商品详情页的请求可能对应一个商品控制器的`show`方法。 - 控制器处理业务逻辑,调用模型(Model)获取或更新数据,然后将数据传递给视图(View)进行渲染。 5. ...

    web工程ppt

    Web工程的核心目标是构建高效、可扩展且用户友好的Web应用程序,而这个过程涉及到多个技术层面。 一、Web应用架构 Web工程首先会讲解Web应用的基本架构,包括客户端(Client-Side)和服务器端(Server-Side)的...

Global site tag (gtag.js) - Google Analytics