• 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")
  • 相关阅读:
    c++ list_iterator demo
    模板元编程例子
    !a && !b 和 !(a || b) 的故事
    简明解释算法中的大O符号
    重构oceanbase的一个函数
    正则表达式识别汉字
    编写易于理解代码的六种方式
    Linux下的tar压缩解压缩命令详解
    2013 年 —— Facebook 在开源方面的工作介绍
    Kent Beck揭秘Facebook开发部署流程
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12681303.html
Copyright © 2020-2023  润新知