一.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所以不用设置