请求Request

本文详细介绍了HTTP请求中的Request部分,包括URL路径参数、查询参数、请求体参数和请求头。阐述了RESTful原则,并讲解如何在Django中处理这些参数。请求头可通过request.META获取,而请求体数据可以通过request.POST或request.body处理,根据数据格式进行解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

请求Request简述

  1. 回想一下,利用HTTP请求包括哪几个部分?
POST /weather/beijing/2018?a=1&b=2&c=3 HTTP/1.1\r\n
Host: mail.itcast.cn\r\n
Connection: keep-alive\r\n
Content-Type: application/x-www-form-urlencoded\r\n
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36\r\n
\r\n(请求头信息后面还有一个单独的’\r\n’不能省略)
username=hello&pass=hello
  1. 四种传参方式
  • 1.提取URL的特定部分,如/weather/beijing/2018,可以在服务器端的路由中用正则表达式截取;
  • 2.查询字符串(query string),形如key1=value1&key2=value2;
  • 3.请求体(body)中发送的数据,比如表单数据、json、xml;
  • 4.在http报文的头(header)中。

RESTful

URL定位资源,用HTTP动词(GET,POST,PUT, DELETE)描述操作。

  • GET 用来获取资源
  • POST 用来新建资源
  • PUT 用来更新资源
  • DELETE 用来删除资源

获取HTTP请求方法

request.method 获取使用的HTTP方法,比如’GET’ ‘POST’ 'PUT’等

第一章 URL路径参数

在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图的传入参数中。

/weather/beijing/2019/

  • 未命名参数按定义顺序传递, 如
url(r'^weather/([a-z]+)/(\d{4})/$', views.weather),

def weather(request, city, year):
    print('city=%s' % city)
    print('year=%s' % year)
    return HttpResponse('OK')
  • 命名参数按名字传递,如
url(r'^weather/(?P<city>[a-z]+)/(?P<year>\d{4})/$', views.weather),

def weather(request, year, city):
    print('city=%s' % city)
    print<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值