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

Django HttpRequest 对象的常用属性

以下是 request 对象中你经常能用到的其他核心属性:

属性类型说明示例
request.pathstr请求的完整路径(含脚本前缀)/dashboard/
request.path_infostr请求路径(去除了脚本前缀)/dashboard/
request.get_full_path()str路径 + 查询字符串/dashboard/?page=2
request.get_raw_uri()str完整请求 URI(含协议、host、路径等)https://example.com/dashboard/?q=test
request.methodstr请求方法'GET''POST''PUT''DELETE'
request.GETQueryDictGET 参数(URL 查询参数)?name=Tom&age=20 → request.GET['name']
request.POSTQueryDictPOST 表单数据提交表单时使用
request.FILESMultiValueDict上传的文件数据配合 enctype="multipart/form-data" 使用
request.COOKIESdict客户端 Cookierequest.COOKIES.get('sessionid')
request.sessionSessionStore当前用户的 session 对象request.session['user_id'] = 123
request.userUser 或 AnonymousUser当前登录用户(需配合 Django auth)request.user.is_authenticated
request.METAdictHTTP 请求头和其他元数据request.META['HTTP_USER_AGENT']request.META['REMOTE_ADDR'](IP)
request.schemestr协议类型'http' 或 'https'
request.content_typestr请求体的 MIME 类型'application/json'
request.content_lengthint or None请求体长度用于验证上传大小
request.bodybytes原始请求体数据(用于非表单如 JSON)json.loads(request.body)

举个例子说明这些属性的用法

def my_view(request):print("路径:", request.path_info)           # /my/page/print("完整路径:", request.get_full_path()) # /my/page/?q=testprint("方法:", request.method)              # GET 或 POSTprint("GET参数:", request.GET.dict())       # {'q': 'test'}print("用户IP:", request.META.get('REMOTE_ADDR'))print("User-Agent:", request.META.get('HTTP_USER_AGENT'))print("是否HTTPS:", request.scheme == 'https')print("当前用户:", request.user.username)print("Session中的app:", request.session.get("app"))if request.method == "POST":print("POST数据:", request.POST.dict())print("上传文件:", request.FILES.get("avatar"))return HttpResponse("OK")
http://www.dtcms.com/a/390436.html

相关文章:

  • 常见的 2 中缓存
  • Python基于Django的微博舆情可视化系统 关键词/用户ID/评论分析 大数据项目(建议收藏)✅
  • 四大访问控制模型:OBAC、RBAC、TBAC与ABAC的对比与应用
  • 如何使用AI IDE书写Vue3数据可视化大屏项目
  • React 类名控制工具库ClassName 简化类写法 条件控制 样式处理
  • 【MySQL】用户和权限管理
  • STM32项目分享:游泳馆闸机计费管理系统设计
  • 《C++进阶之STL》【unordered_set/unordered_map 模拟实现】
  • LLM中如何添加special_token,并且尽可能保持原模型的训练效果
  • [x-cmd] 使用系统包管理器安装 x-cmd
  • 亮数据MCP结合Dify:构建自动化视频数据抓取与智能分析工作流的深度实践
  • 革新交互体验,开启未来智慧生活 —— OPE.AI 多语言多模态AI产品
  • 生活琐记(2)
  • 一文读懂HTTP 1.1/2.0/3.0:从原理到应用的通俗解析
  • JavaStream用法全解析
  • 在日常开发中实现异常处理和空值处理的最佳实践
  • openstack port binding failure (by quqi99)
  • leetcode 3484. 设计电子表格 中等
  • Docker+cpolar 实战:打造灵活可控的远程办公系统
  • uniApp开发XR-Frame微信小程序 | 设置透明贴图
  • M3 Ultra版Mac Studio无法正常升级到macOS 26.0 苹果已经在调查
  • 老的ios项目在新的mac M1上编译运行遇到的问题及整理
  • Java 大视界 -- Java 大数据机器学习模型在元宇宙虚拟场景智能交互中的关键技术
  • 2025年目标检测还有什么方向好发论文?
  • 离线openHarmonySdk鸿蒙系统动态库的封装
  • 从零实现鸿蒙智能设备数据采集:权限、传感器、云端上传全流程实战
  • 智慧医院IBMS中央集成系统解决方案:构建医疗安全优先的智慧运营中枢​
  • ✅ Python房源数据采集+分析+预测平台 requests爬虫+sklearn回归 大数据实战项目(建议收藏)机器学习(附源码)
  • 结婚证 OCR 识别:政务服务提速的 “关键一环”
  • Git企业开发--多人协作