首页 > 其他分享 >【Django基础】视图层

【Django基础】视图层

时间:2023-11-25 11:56:04浏览次数:35  
标签:返回 基础 JsonResponse request 视图 Django json data 模板

视图函数

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)

标签:返回,基础,JsonResponse,request,视图,Django,json,data,模板
From: https://www.cnblogs.com/fuchangjiang/p/17855358.html

相关文章

  • C++ Boost 异步网络编程基础
    Boost库为C++提供了强大的支持,尤其在多线程和网络编程方面。其中,Boost.Asio库是一个基于前摄器设计模式的库,用于实现高并发和网络相关的开发。Boost.Asio核心类是io_service,它相当于前摄模式下的Proactor角色。所有的IO操作都需要通过io_service来实现。在异步模式下,程序除了发起......
  • Java零基础入门-数组
    Java零基础入门-数组前言Java是一门面向对象的编程语言,被广泛应用于各个领域。数组是Java编程中最基本也是最重要的数据结构之一,它可以用来存储一组数据,并且方便进行操作和处理。本文将为大家介绍Java数组的基本概念、语法和常见应用场景,帮助初学者快速入门。摘要本文将从以下......
  • .NET Core MVC基础之页面传值方式
    .NETCoreMVC基础之页面传值方式......
  • 【Django基础】urls路由
    简单示例fromdjango.urlsimportpathfrom.importviewsurlpatterns=[path('articles/2003/',views.special_case_2003),path('articles/<int:year>/',views.year_archive),path('articles/<int:year>/<int:m......
  • 基于django的4s店客户管理系统-计算机毕业设计源码+LW文档
    摘 要 进入21世纪网络和计算机得到了飞速发展,并和生活进行了紧密的结合。目前,网络的运行速度以达到了千兆,覆盖范围更是深入到生活中的角角落落。这就促使管理系统的发展。网上办公可以实现远程处理事务,远程提交工作和随时追踪工作的状态。网上管理系统给人们带来前所未有的体......
  • 数通网络基础
    对于之前学习Java语言的路程告一段路了,接下来会在这里更新我学习网络的心得和学习旅程首先聊一聊什么是网络通信简单来说就是终端设备之间通过计算机网络的通信 当然这种简单的本地的两台pc互联通信,是非常简单的网络接下来我们来聊一聊组建网络都有哪些网络设备网络设备交......
  • 【Django基础】操作数据库详解
    djangoORM简介O(objects):类和对象。R(Relation):关系,关系数据库中的表格。M(Mapping):映射。DjangoORM框架的功能:建立模型类和表之间的对应关系,允许我们通过面向对象的方式来操作数据库。根据设计的模型类生成数据库中的表格。通过方便的配置就可以进行数据库的切换。......
  • 【Django基础】Mysql数据库连接配置
    Django支持MySQL5.7及以上版本。Django的inspectdb功能使用information_schema数据库,其中包含所有数据库架构的详细数据。Django希望数据库支持Unicode(UTF-8编码),并将执行事务和引用完整性的任务交给它。django连接MySQL数据库,需要安装第三方数据库mysqlclientpip......
  • 【Django基础】Django新建项目
    安装Djangopipinstalldjango直接在pycharm中新建Django项目会自动安装django模块新建第一个项目django-adminstartprojectmysite项目目录mysite/manage.pymysite/__init__.pysettings.pyurls.pyasgi.pywsgi.p......
  • django13days
    csrf跨站请求伪造钓鱼网站:模仿一个正规的网站让用户在该网站上做操作但是操作的结果会影响到用户正常的网站账户但是其中有一些猫腻 eg:英语四六级考试需要网上先缴费但是你会发现卡里的钱扣了但是却交到了一个莫名其妙的账户并不是真正的四六级官方账户模拟钓鱼......