【Django】 05.视图高级

限制请求method:

使用装饰器:

  1. django.http.decorators.http.require_http_methods:传递一个列表参数指定访问方法。
1
2
3
4
5
6
from django.views.decorators.http import require_http_methods

@require_http_methods(['GET'])
def my_view(request):
pass

2. django..http.decorators.http.require_GET:只允许GET请求访问

  1. django..http.decorators.http.require_POST:只允许POST请求访问

WSGIRequest对象:

常用属性:

  1. path:请求服务器的路径,不包括域名和参数。比如https://www.bilibili.com/video/av89954133?p=102返回/video/av89954133

  2. method:返回请求的方法,GET、POST等

  3. Meta:返回客户端发送的header信息

  4. GET:一个django.http.request.QueryDict对象。这个属性中包含了url中查询字符的内容参数

  5. POST::一个django.http.request.QueryDict对象。这个属性中包含了所有已POST方式传上来的参数,比如一些表单数据

常用方法:

  1. is_secure():是否采用https协议

  2. is_ajax():是否采用ajax发送的请求。原理是判断请求头中是否存在X-Requested-With: XMLHttpRequest

  3. get_host():服务器的域名。如果访问时有端口号,还会加上端口号。比如www.baidu.com:9000

  4. get_full_path():返回完整的path。如果有查询字符串,会加上查询字符串。比如/video/av89954133?p=102

  5. get_raw_uri():获取完整的url。比如https://www.bilibili.com/video/av89954133?p=102


【Django】 05.视图高级
http://blog.rainna.xyz/2020/11/22/2020-11-22-05.视图高级/
作者
rainnalv
发布于
2020年11月22日
许可协议