Django_views视图

1.request对象

属性:

# 返回这次请求是http还是https。
request.scheme
# 返回当前请求的URL
request.path
# 返回一个请求的类型,get或者post
request.method
# 返回请求的MIME类型的字符串,(MIME 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据。)
content_type
# 获取到浏览器提交的get类型的数据。
request.GET
# 获取到浏览器提交的post类型的数据
request.POST
# 获取上传的文件
request.FILES
# 包含所有可用HTTP标头的字典。
request.META

一些HTTP标头的例子:

  CONTENT_LENGTH——请求体的长度(作为字符串)。

  CONTENT_TYPE——请求体的MIME类型。

  HTTP_ACCEPT——响应的可接受内容类型。

  HTTP_ACCEPT_ENCODING—响应的可接受编码。

  HTTP_ACCEPT_LANGUAGE—响应的可接受语言。

  HTTP_HOST——客户端发送的HTTP主机报头。

  HTTP_REFERER——引用页面,如果有的话。

  HTTP_USER_AGENT——客户机的用户代理字符串。

  QUERY_STRING—查询字符串,作为单个(未解析的)字符串。

  REMOTE_ADDR——客户端的IP地址。

  REMOTE_HOST——客户机的主机名。

  REMOTE_USER—通过Web服务器验证的用户(如果有)。

  REQUEST_METHOD—字符串,如“GET”或“POST”。

  SERVER_NAME—服务器的主机名。

  SERVER_PORT——服务器的端口(作为字符串)。

 方法:

# 返回服务器的IP地址和端口。
request.get_host()
# 返回端口
request.get_port()
# 返回全部的请求路径
request.get_full_path()
# 返回位置的绝对URL形式。
request.build_absolute_uri()
# 将'/qwe/asd/zxc'拼接到绝对URL后面,返回。
request.build_absolute_uri('/qwe/asd/zxc')
# 判断是否为https,返回True或False。
request.is_secure()
# 判断是否ajax请求,返回True或False。
request.is_ajax()

 2.HttpResponse

# 将"content"返回给网页。默认是以html的形式。
HttpResponse(content)
# 将"content"返回给网页,以文本的形式。
HttpResponse(content, content_type="text/plain")
# 修改状态码,为404。
HttpResponse(html, content_type="text/plain", status=404)

  下载文件:

def test1(request):
    # 打开文件
    f = open('statie_date/1.png', 'rb')
    # 告诉浏览器要返回的文件类型
    wdc = HttpResponse(f.read(), content_type='image/png')
    # 告诉浏览器收到文件后如果处置内容
    wdc['Content-Disposition'] = 'attachment; filename="wdc.png"'
    return wdc

 3.render

  render方法可接收三个参数,一是request参数,二是待渲染的html模板文件,三是保存具体数据的字典参数。

  它的作用就是将数据填充进模板文件,最后把结果返回给浏览器。

def test1(request):

    data = 'dfqiubvpqejbvpq'
    return render(request, 'test.html', {'qqq': data})

 4.redirect

  接受一个URL参数,表示让浏览器跳转去指定的URL.

def index(request):
    # 业务逻辑代码
    return redirect("https://www.baidu.com")

 

posted @ 2020-04-11 22:10  手可摘星辰。  阅读(158)  评论(0编辑  收藏  举报