zoukankan      html  css  js  c++  java
  • 二.httpRequest-httpResponse-JsonResponse对象

     一.HttpRequest对象

    HttpRequest在django.http这个模块中
    它是用django创建
    文档https://docs.djangoproject.com/en/1.11/ref/request-response/#httprequest-objects 
    属性:
    HttpRequest.body HttpRequest.path 不带参数的请求路径 HttpRequest.method HttpRequest.encoding HttpRequest.GET HttpRequest.POST HttpRequest.META
    HttpRequest对象——方法: HttpRequest.get_host() 获取主机名 HttpRequest.get_port() HttpRequest.get_full_path() 获取完整请求路径 HttpRequest.is_secure() 是否是安全的 HttpRequest.is_ajax() 是否是ajax

    属性查看效果:

    views.py:

    from django.http import HttpResponse
    def index(request):
    print(request.scheme)
    print(request.method)
    print(request.path)
    print(request.body)
    print(request.encoding)
    print(request.POST)
    print(request.META)
    print(request.GET)
    return HttpResponse("Hello world !!!")

     刷新浏览器后终端效果如下:

     方法查看效果:

    def index(request):
    print(request.get_host())
    print(request.get_port())
    print(request.get_full_path())
    print(request.build_absolute_uri())
    print(request.is_secure())
    print(request.is_ajax())
    print(request.readline())
    print(request.__iter__())
    return HttpResponse("Hello world !!!")

     刷新浏览器后终端效果如下:

     二.HttpResponse对象

    HttpResponse在django.http这个模块中
    传递一个字符串作为页面的内容到 HttpResponse 构造函数中即可
    >>> from django.http import HttpResponse  导入模块
    >>> response = HttpResponse("Here's the text of the Web page.") 实例化模块
    >>> response = HttpResponse("Text only, please.", content_type="text/plain")
    https://docs.djangoproject.com/en/1.11/ref/requestresponse/#httpresponse-objects
     
    HttpResponse对象——属性:
    属性:
    HttpResponse.content  返回普通的字符串
    HttpResponse.charset  返回的字符集
    HttpResponse.status_code  返回的状态码
    HttpResponse.reason_phrase
    方法:
    HttpResponse.__init__(content=”, content_type=None, status=200, reason=None, charset=None)

    (1)views.py: httpresponse返回字符串

    def index(request):
    res = HttpResponse()
    res.content = "你好"
    res.status_code = 300
    return res

    刷新浏览器后效果如下:

    (2)views.py: httpresponse返回数据类型要特殊处理,因为它默认接收的是字符串

    from django.http import HttpResponse
    import json
    def index(request):
    data = ["a","b","c"] #列表
    return HttpResponse(json.dumps(data)) #返回列表

     其实上述效果可直接用JsonResponse对象解决,不用再用json.dumps序列化

    三.JsonResponse对象

    from django.http import HttpResponse,JsonResponse
    def index(request):
    data = ["a","b","c"] #列表
    return JsonResponse(data,safe=False) #data是列表则safe参数要设置false,是字典则true,默认就是true所以不用设置

  • 相关阅读:
    配置ftp服务器只能上传不能进行其他操作
    教你用CMD命令查询域名的DNS解析记录:A,NS,MX,CNAME,TXT
    js 多选选择删除数据
    类加载是为了执行静态方法
    数据库 基本命令
    在where子句中经常使用的运算符
    数据库编码问题
    JSP2.0自定义标签
    实现一个基本防盗链标签
    自定义标签
  • 原文地址:https://www.cnblogs.com/dbslinux/p/13019274.html
Copyright © 2011-2022 走看看