当前位置: 首页 > news >正文

Django 常用注解

@require_http_methods(["POST"])

  • @require_http_methods(["POST"]) 是 Django 提供的装饰器,确保该视图函数只能处理指定的 HTTP 方法(如 POST 请求)。
  • 如果客户端使用其他的 HTTP 方法(如 GET, PUT, DELETE),Django 会自动返回 HTTP 405 (Method Not Allowed) 错误。
  • 它的作用是简化对 HTTP 方法的限制,而不用手动在视图里检查 request.method

没有@require_http_methods注解,需要方法内部自己if request.method == 'POST':

import json
from django.http import JsonResponse
from django.views.decorators.csrf import csrf_exempt@csrf_exempt  # 如果你没有启用 CSRF token 可以加上这个装饰器, 但要注意安全性
def add_car(request):if request.method == 'POST':try:# 读取并解析 JSON 请求体data = json.loads(request.body.decode('utf-8'))# 从 JSON 数据中获取参数car_name = data.get('name')car_model = data.get('model')# 在这里可以处理接收到的数据,例如保存到数据库# Car.objects.create(name=car_name, model=car_model)return JsonResponse({'status': 'success', 'message': 'Car added successfully'})except json.JSONDecodeError:return JsonResponse({'status': 'error', 'message': 'Invalid JSON'}, status=400)else:return JsonResponse({'status': 'error', 'message': 'Invalid request method'}, status=405)

@csrf_exempt:

禁用视图的 CSRF 保护,不注释全局csrf中间件,使用此注解即可完成单个请求的csrf保护取消

相关文章:

  • slam入门学习笔记
  • 某系统超级管理员密码重置通用型
  • ECMAScript与JavaScript的区别:深入解析
  • Virtio半虚拟化基本原理简介
  • 有关在.Net Core中以TEXT类型将Json格式字段存到数据库的学习
  • 孩子英语不好,能学编程吗?
  • 如何选择适合的编程工具提高工作效率
  • mysql学习教程,从入门到精通,SQL UNION 运算符(27)
  • 构建高可用和高防御力的云服务架构第二部分:SLB负载均衡(2/5)
  • muduo网络库介绍
  • 机器学习-模型集成
  • 信息安全工程师(25)网络安全体系框架主要组成和建设内容
  • WebAPI编程(第三天,第四天)
  • 【Linux】驱动的基本架构和编译
  • BUG项目管理
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • axios 和 cookie 的那些事
  • Java Agent 学习笔记
  • Linux链接文件
  • Material Design
  • pdf文件如何在线转换为jpg图片
  • Xmanager 远程桌面 CentOS 7
  • 仿天猫超市收藏抛物线动画工具库
  • 回顾 Swift 多平台移植进度 #2
  • 讲清楚之javascript作用域
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 使用docker-compose进行多节点部署
  • 详解移动APP与web APP的区别
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • ​LeetCode解法汇总2304. 网格中的最小路径代价
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • ​Linux·i2c驱动架构​
  • ​水经微图Web1.5.0版即将上线
  • #面试系列-腾讯后端一面
  • $L^p$ 调和函数恒为零
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (pycharm)安装python库函数Matplotlib步骤
  • (二)Eureka服务搭建,服务注册,服务发现
  • (每日一问)计算机网络:浏览器输入一个地址到跳出网页这个过程中发生了哪些事情?(废话少说版)
  • (七)glDrawArry绘制
  • (七)Knockout 创建自定义绑定
  • (三) diretfbrc详解
  • (三)elasticsearch 源码之启动流程分析
  • (四)Controller接口控制器详解(三)
  • (转)Groupon前传:从10个月的失败作品修改,1个月找到成功
  • (转载)CentOS查看系统信息|CentOS查看命令
  • **《Linux/Unix系统编程手册》读书笔记24章**
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net 调用php,php 调用.net com组件 --
  • .NET 某和OA办公系统全局绕过漏洞分析
  • .NET/C# 的字符串暂存池
  • .NET/C# 解压 Zip 文件时出现异常:System.IO.InvalidDataException: 找不到中央目录结尾记录。
  • 。。。。。
  • @31省区市高考时间表来了,祝考试成功
  • [ C++ ] STL---string类的模拟实现