【Django基础】视图层
视图函数
HttpResponse()
作用:接收一个字符串并返回
def index_func(request):
url = reverse('app01_view_index')
print(url)
return HttpResponse('app01 的index')
render
作用:返回html页面,并且在返回给浏览器之前还可以给html文件传值
render()有多个参数,其中第一个参数为返回request请求对象,其他参数则用于返回HTML文档及其局部命名空间内变量用作模板渲染。
参数 | 内容 |
---|---|
request | 用于生成响应的请求对象 |
template_name | 要使用的模板的完整名称,可选的参数 |
context | 添加到模板上下文的一个字典 默认是一个空字典 如果字典中的某个值是可调用的,视图将在渲染模板之前调用它 局部命名空间变量(字典形式从换入),或locals()函数 |
def home_func(request):
return render(request, 'HomePage.html')
redirect
作用:接收一个url并返回,状态码为302,也就是重定向
JsonResponse
前后端数据交互需要使用到json格式数据作为过渡,实现跨语言传输数据
####1.json模块进行序列化
虽然python中为我们准备了json格式的序列化的模块json,但是当我们通过自带的json模块进行序列化展示到浏览器上的时候,
def json_func(request):
data_dict = {'test_content': 'about JsonResponse ', 'age': 22, '爱好': '放空'}
import json
json_data = json.dumps(data_dict, ensure_ascii=False)
return HttpResponse(json_data)
2.JsonResponse
Jsonresponse是Django中自带的一个基于json模块的封装,可以直接返回json类型的数据至模板层的前端页面
浏览器会对这个JsonResponse方法返回的json格式数据更有亲和力,可以当成json字符串渲染
(1)实例
from django.http import JsonResponse
def json_func(request):
data_dict = {'test_content': 'about JsonResponse ', 'age': 22, '爱好': '放空'}
return JsonResponse(data_dict)