当前位置: 首页 > 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=test
print("方法:", request.method)              # GET 或 POST
print("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.gsyq.cn/news/8823.html

相关文章:

  • 完整教程:Ajax-day2(图书管理)-弹框显示和隐藏
  • civil 3d com api 帮助文档
  • 完整教程:【教程4>第8章>第28节】OFDM完整通信链路项目FPGA开发22——提取导频
  • 实用指南:万字详解架构设计:业务架构、应用架构、数据架构、技术架构、单体、分布式、微服务都是什么?
  • ArcEngine10.2中融合工具Dissolve的bug
  • 含“华”量超高的奥迪,卖爆了
  • 在Ubuntu系统中使用gcc和Makefile编译C程序
  • 9.20 闲话
  • IDEA 自动编译和热部署
  • RabbitMQ核心模型简介,Hello World的生产与消费
  • Linux 基础命令 02
  • Proxy 库解析(三)
  • 软工个人项目 - Helen
  • 概率论第二章部分习题
  • ENSP模拟搭建典型中小型企业网架构
  • 【Java】HashMap讲解
  • 图解16:数据和信息流的9大架构模式
  • 【Spring Boot 报错已克服】Spring Boot 模糊映射(Ambiguous mapping)报错解决指南
  • 货运系统源码 货运物流小代码 货运强大的平台搭建 货运软件开发
  • 2025.9.20
  • Spring Boot 2.5.0 集成 Elasticsearch 7.12.0 实现 CRUD 完整指南(Windows 环境) - 教程
  • CentOS 8.5.2.111部署Zabbix6.0 手把手、保姆级
  • [Linux/Docker] BusyBox : 开源、轻量级的Unix工具集
  • Part03 数据结构 - 教程
  • 变量,常量,作用域
  • linux kernel synchronization 2
  • MySQL高阶查询语句与视图实战指南 - 指南
  • 订单未支付多种方案
  • Twincat 中如何将位变量链接到字节
  • 实用指南:【2025最新版】PCL点云处理算法汇总(C++长期更新版)