Request对象

Django 中的请求对象 Request

def index(request):
    print(request)

<WSGIRequest: POST '\index\'>

常用属性:

  1. method 请求方法

返回请求方法 POST PUT GET 等字符串。

print(request.method)
  1. body 请求体

返回字节类型数据。解码后常为 json 字符串。

print(request.body)
data = json.loads(request.body.decode())
  1. GET get请求头

返回由url中的键值对构建的字典。可通过 request.GET.get() 获取指定值。

  1. POST post表单

返回form表单字典。可通过 request.POST.get() 获取指定值。

  1. COOKIES cookies字典

返回 cookies 字典。可通过 request.COOKIES .get() 获取指定值。

  1. session session字典

返回 session字典。可通过 request.session.get() 获取指定值。

request.session.set_expiry(120) # 设置有效期,单位秒。session 的有效期默认为两周。
request.session.clear()  # 清除session的所有值
request.session.flush()  # 删除session
  1. META 元数据

返回元数据字典,包含所有请求信息。

{s
    "PATH": "/home/user/.virtualenvs/django_venv/bin:/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/local/arm/gcc-4.6.4/bin",
    "LC_MEASUREMENT": "zh_CN.UTF-8",
    "XAUTHORITY": "/run/user/1000/gdm/Xauthority",
    "XMODIFIERS": "@im=fcitx",
    "LC_TELEPHONE": "zh_CN.UTF-8",
    "XDG_DATA_DIRS": "/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop",
    "GDMSESSION": "ubuntu",
    "LC_TIME": "zh_CN.UTF-8",
    "PAPERSIZE": "a4",
    "TEXTDOMAINDIR": "/usr/share/locale/",
    "GTK_IM_MODULE": "fcitx",
    "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus",
    "PS1": "(meiduo_mall) ",
    "XDG_CURRENT_DESKTOP": "ubuntu:GNOME",
    "SSH_AGENT_PID": "2056",
    "QT4_IM_MODULE": "fcitx",
    "LC_PAPER": "zh_CN.UTF-8",
    "SESSION_MANAGER": "local/ubuntu:@/tmp/.ICE-unix/1968,unix/ubuntu:/tmp/.ICE-unix/1968",
    "USERNAME": "sixstar",
    "LOGNAME": "sixstar",
    "PWD": "/mnt/hgfs/u18user/\\u9879\\u76ee\\u5b9e\\u8df5/django-\\u516d\\u661f\\u6559\\u80b2-\\u5b89\\u5b89/Django_Pro/Django_Pro",
    "IM_CONFIG_PHASE": "2",
    "PYCHARM_HOSTED": "1",
    "LANGUAGE": "zh_CN:en_US:en",
    "GJS_DEBUG_TOPICS": "JS ERROR;JS LOG",
    "PYTHONPATH": ,
    "LC_ADDRESS": "zh_CN.UTF-8",
    "GIO_LAUNCHED_DESKTOP_FILE": "/usr/share/applications/pycharm.desktop",
    "OLDPWD": "~/Downloads/pycharm-professional-2018.3.7/pycharm-2018.3.7/bin",
    "GNOME_DESKTOP_SESSION_ID": "this-is-deprecated",
    "GTK_MODULES": "gail:atk-bridge",
    "VIRTUAL_ENV": "~/.virtualenvs/meiduo_mall",
    "CLUTTER_IM_MODULE": "xim",
    "TEXTDOMAIN": "im-config",
    "XDG_SESSION_DESKTOP": "ubuntu",
    "SHLVL": "0",
    "LC_IDENTIFICATION": "zh_CN.UTF-8",
    "LC_MONETARY": "zh_CN.UTF-8",
    "QT_IM_MODULE": "fcitx",
    "XDG_CONFIG_DIRS": "/etc/xdg/xdg-ubuntu:/etc/xdg",
    "LANG": "zh_CN.UTF-8",
    "XDG_SESSION_ID": "2",
    "XDG_SESSION_TYPE": "x11",
    "DISPLAY": ":0",
    "LC_NAME": "zh_CN.UTF-8",
    "PYCHARM_MATPLOTLIB_PORT": "46799",
    "PYTHONIOENCODING": "UTF-8",
    "GPG_AGENT_INFO": "/run/user/1000/gnupg/S.gpg-agent:0:1",
    "DESKTOP_SESSION": "ubuntu",
    "USER": "~",
    "XDG_MENU_PREFIX": "gnome-",
    "GIO_LAUNCHED_DESKTOP_FILE_PID": "2485",
    "QT_ACCESSIBILITY": "1",
    "WINDOWPATH": "2",
    "LC_NUMERIC": "zh_CN.UTF-8",
    "GJS_DEBUG_OUTPUT": "stderr",
    "SSH_AUTH_SOCK": "/run/user/1000/keyring/ssh",
    "XDG_SEAT": "seat0",
    "PYTHONUNBUFFERED": "1",
    "GNOME_SHELL_SESSION_MODE": "ubuntu",
    "XDG_VTNR": "2",
    "XDG_RUNTIME_DIR": "/run/user/1000",
    "HOME": "~",
    "DJANGO_SETTINGS_MODULE": "meiduo.settings.dev",
    "TZ": "Asia/Shanghai",
    "RUN_MAIN": "true",
    "SERVER_NAME": "ubuntu",
    "GATEWAY_INTERFACE": "CGI/1.1",
    "SERVER_PORT": "8300",
    "REMOTE_HOST": "",
    "CONTENT_LENGTH": "22",
    "SCRIPT_NAME": "",
    "SERVER_PROTOCOL": "HTTP/1.1",
    "SERVER_SOFTWARE": "WSGIServer/0.2",
    "REQUEST_METHOD": "POST",
    "PATH_INFO": "/index/",
    "QUERY_STRING": "",
    "REMOTE_ADDR": "127.0.0.1",
    "CONTENT_TYPE": "application/json;charset=UTF-8",
    "HTTP_HOST": "127.0.0.1:8300",
    "HTTP_CONNECTION": "keep-alive",
    "HTTP_ACCEPT": "application/json, text/plain, */*",
    "HTTP_X_CSRFTOKEN": "undefined",
    "HTTP_USER_AGENT": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.164 Safari/537.36",
    "HTTP_ORIGIN": "http://127.0.0.1:8300",
    "HTTP_REFERER": "http://127.0.0.1:8300/index/",
    "HTTP_ACCEPT_ENCODING": "gzip, deflate",
    "HTTP_ACCEPT_LANGUAGE": "zh-CN,zh;q=0.9",
    "HTTP_COOKIE": "username=six; sessionid=s363zu5ml4y65g2r1fzkp187mdhjyomq",
    "wsgi.input": "<django.core.handlers.wsgi.LimitedStream object at 0x7f681984a518>",
    "wsgi.errors": "<_io.TextIOWrapper name=<stderr> mode=w encoding=UTF-8>",
    "wsgi.version": [
      1,
      0
    ],
    "wsgi.run_once": false,
    "wsgi.url_scheme": "http",
    "wsgi.multithread": true,
    "wsgi.multiprocess": false,
    "wsgi.file_wrapper": "<class wsgiref.util.FileWrapper>"
}
posted @   流水自净  阅读(57)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示