zoukankan      html  css  js  c++  java
  • 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")
  • 相关阅读:
    接着上回,导包正确之后,出现javabean.Friend cannot be cast to java.util.List,的错误。找了很久。以为是User user0作为参数,改成了String username还是错误,看了看listFriend.jsp没有错误,我想会不会是包多了,导致类型复杂。最后发现包少了一个:
    c语言
    软链接和硬链接的联系和区别
    centos7怎么永久修改hosname
    虚拟机静态ip设置
    Centos、Ubuntu开启命令模式
    Kubernetes重要概念理解
    人生道路上,永远没有“容易”二字
    知识【英文】
    模板【kruskal重构树】
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12681303.html
Copyright © 2011-2022 走看看