Django视图Views

Views视图

HttpRequest 和HttpResponse
Django中的视图主要用来接受web请求,并做出响应。视图的本质就是一个Python中的函数视图的响应分为两大类
        1)以Json数据形式返回(JsonResponse)
        2)以网页的形式返回        

                2.1)重定向到另一个网页 (HttpResponseRedirect)

                2.2)错误视图(4xx,5xX)(HttpResponseNotFound,HttpResponseForbidden,HttpResponseNotAllowed等)
视图响应过程:
        浏览器输入->ur1s路由匹配->视图响应 ->回馈到浏览器视图参数:
                1)-个HttpRequest的实例,一般命名为reguest
                2)通过url正则表达式传递过来的参数
位置:
        通常在应用下的views.py中定义
        错误视图:

        1)404视图(页面没找到)
        2)400视图(客户操作错误)
        3)500视图(服务器内部错误)

用vscode创建一个新的项目

首先进入项目文件夹我会先创建一个虚拟环境

python3 -m venv myvenv  

进入虚拟环境

source myvenv/bin/activate

在虚拟环境中安装Django

pip3 install django==4.2

创建Django项目

django-admin startproject project2

尝试启动一下

python3 project2/manage.py runserver

创建一个新的App

django-admin startapp App

记得在setting.py里注册一下App 

并增加一个templates模版文件夹并配置 

HttpRequest

        服务器在接收到Http请求后,会根据报文创建HttpRequest对象
        视图中的第一个参数就是HttpRequest对象
        Django框架接收到http请求之后会将http请求包装为HttpRequest对象,之后传递给视图。
request常用属性和方法:
                属性:
                        path 请求的完整路径
                        method 请求的方法,常用GET,POST
                        GET 类似字典的参数,包含了get的所有参数
                        POST 类似字典的参数,包含了post所有参数
                        FILES  类似字典的参数,包含了上传的文件
                        COOKIES 字典,包含了所有COOKIE
                        session类似字典,表示会话
                        META[' REMOTE_ADDR' ]

                方法:is_ajax() 判断是否是ajax(),通常用在移动端和JS中
                        get_full_path() 返回包含参数字符串的请求路径.
QueryDict: 类字典的对象
        类似字典的数据结构。与字典的区别:可以存在相同的键。
        QueryDict中数据获取方式
                dict['uname ’] 或 dict.get ('uname)
                获取指定key对应的所有值

 大家可以挨个打印测试一下 看一下获取到的一些参数

  HttpResponse


服务器返回给客户端的数据
HttpResponse由程序员自己创建:
        1)不使用模板,直接调用HttpResponse(),返回HttpResponse对象。
        2)调用模板,进行渲染。
                使用render
                        render(request, template_name[, context])
                        request 请求体对象
                        template name  模板路径
                        context 字典参数,用来填坑
        属性:content 返回的内容
                  charset 编码格式
                  status code 响应状态码(2xx,3xx,4xx, 5xx)
        方法:

               write(xxx)直接写出文本
                flush()冲刷缓冲区
                set_cookie(key, value= xxx',max_age=None) 设置cookie
                delete_cookie(key)删除cookie

 以上是一些请求和响应的一些基础学习

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/632140.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

计算机组成原理(超详解!!) 第九节 外围设备

1.外围设备概述 1.外围设备的一般功能 外围设备的定义:这个术语涉及到相当广泛的计算机部件。除了CPU和主存外,计算 机系统的每一部分都可作为一个外围设备来看待。 外围设备的功能:在计算机和其他机器之间,以及计算机与用户之…

C#知识|(实例)大乐透双色球随机选号器项目实现(一)

哈喽,你好啊,我是雷工! 本节学习练习大乐透双色球随机选号器项目的实现,以下为学习笔记。 01 功能需求 当点击【启动】按钮时,号码开始随机变化; 当点击【选择】按钮时,号码停止随机变化,并将选定的号码显示到下方列表; 当点击【清除】按钮时,下方显示列表被清空。…

C# 结合 JavaScript 对 Web 控件进行数据输入验证

目录 关于数据验证 范例运行环境 验证设计 JavaScript 方法 设计 实现 调用示例 C# 方法 设计 实现 调用示例 小结 关于数据验证 在 Web 应用的录入界面,数据验证是一项重要的实现功能,数据验证是指确认 Web 控件输入或选择的数据&#xff…

Microsoft Remote Desktop Beta v10.9.7 Mac微软远程连接工具

Microsoft Remote Desktop Beta 是一种软件应用程序,使用户能够从其设备远程访问基于 Windows 的计算机或虚拟机。它可以在 Windows 和 Mac 操作系统上下载。通过 Microsoft Remote Desktop,用户可以使用远程桌面协议 (RDP) 或 RemoteFX 协议连接到远程桌…

【qt】日历和定时器

日历和定时器 一.Calendar Widget(日历组件)1.日历的基本使用 二.定时器1.定时器的用处2.创建一个定时器3.设置定时器时间间隔4.设置定时器类型5.超时信号6.关联定时器7.启动定时器8.关闭定时器9.定时器要执行功能 三.总结一下: 一.Calendar Widget(日历组件) 1.日…

亚马逊调整退货处理费,卖家如何应对新挑战?

在电子商务领域,退货处理一直是一个重要且复杂的问题。作为全球最大的电子商务平台之一,亚马逊一直在寻求优化退货处理流程,以平衡消费者满意度和运营成本。近日,亚马逊宣布自2024年6月1日起,将对退货处理费收取标准进…

ATFNet:长时间序列预测的自适应时频集成网络

ATFNet是一个深度学习模型,它结合了时间域和频域模块来捕获时间序列数据中的依赖关系。引入了一种新的加权机制来调整周期性的权重,增强了离散傅立叶变换,并包括一个复杂关系识别的注意力机制,在长期时间序列预测中优于当前方法(每…

一休:一款专业的休息提醒软件

对于长期使用电子产品的人来说,保护眼睛至关重要,不论是工作还是学习,适当的休息都是必要的,保护视力要牢记20-20-20法则,眼科医生陶勇也科普过: 使用电脑工作和学习时,容易会忘记时间&#x…

Maven 依赖排查

先从项目去看显而易见,假如我们有一个项目,父工程中包含一些子工程,如下: 我们想看一下samples-account中的依赖关系,那么我们可以打开 samples-account的pom文件,查看其maven依赖关系图。 我们可以看到此项…

WPS如何把多个表格合并到一个表格里面?

注意:此功能需要wps会员。 例如:这里有3个表格。 现在希望合并3个表格到一起,如下图所示。 新建一个表格,打开表格。 选择 开始->工作表->合并表格->整合成为一个工作薄。 弹出对话框,选择添加文件&#xff…

JETBRAINS IDES 分享一个2099通用试用码,支持一键升级!DataGrip 2024 版

文章目录 废话不多说上教程:(动画教程 图文教程)一、动画教程激活 与 升级(至最新版本) 二、图文教程 (推荐)Stage 1.下载安装 toolbox-app(全家桶管理工具)Stage 2 : 下…

AndroidStudio集成高德地图后出现黑屏并报错

报错内容为:No implementation found for void com.autonavi.base.ae.gmap.GLMapEngine.nativeMainThreadTrigger(int, long) (tried Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeMainThreadTrigger and Java_com_autonavi_base_ae_gmap_GLMapEngine_nativeM…

最佳解决Maven同一依赖多版本共存问题,重复依赖(同一个jar包,多个版本)-maven-shade-plugin

先看链接:原文链接 参照原文链接生成的文件(下面是我放的位置) mvn指令 mvn install:install-file -DfileD:\mavenrepository/maven-shade.jar -DgroupIdcom.wj -DartifactIdmaven-shade -Dversion1.1 -Dpackagingjar如果配置了maven_home 和java_home可以任意打开cmd执行(…

Linux-软件安装--tomcat的安装

tomcat的安装 1、下载tomcat安装包2.移动到自己想要解压的目录3、解压文件夹4、启动tomcat5、查看tomcat进程6、查看日志7、通过浏览器访问成功8、停止tomecat服务8.1运行tomcat的bin目录中提供的停止服务的脚本文件shutdcwn.sh8.2结束tomcat进程1、下载tomcat安装包 本篇文章…

Vue原理学习:vdom 和 diff算法(基于snabbdom)

vdom 和 diff 背景 基于组件化,数据驱动视图。只需关心数据,无需关系 DOM ,好事儿。 但是,JS 运行非常快,DOM 操作却非常慢,如何让“数据驱动视图”能快速响应? 引入 vdom 用 vnode 表示真实…

邮件API接口的优势有哪些?如何有效整合?

邮件API怎么选?SendCloud与AokSend的性能对比分析? 邮件API接口作为企业与用户沟通的重要桥梁,其重要性不言而喻。Aok将深入探讨邮件API接口的优势、有效整合的方法、选择标准以及SendCloud与AokSend两款邮件发送服务的性能对比分析。 邮件…

这10款安卓APP,简直好用到爆!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频http://AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频 1.追书——追书神器 追书神器是小说追新大神,全网实…

【大模型微调】一文掌握7种大模型微调的方法

本篇文章深入分析了大型模型微调的基本理念和多样化技术,细致介绍了LoRA、适配器调整(Adapter Tuning)、前缀调整(Prefix Tuning)等多个微调方法。详细讨论了每一种策略的基本原则、主要优点以及适宜应用场景,使得读者可以依据特定的应用要求和计算资源限…

Jquery+Servlet+JDBC实现登录注册功能

前端部分 HTMLCSS部分 引入JQuery包和JQuery.cookie包,前者封装了DOM操作的一些方法,后者封装了对cookie的操作 我们使用cookie主要是为了做登录后页面的跳转时,能存下来这个用户是谁,这样后面可以对单一用户进行操作&#xff…

使用API有效率地管理Dynadot域名,默认将域名隐形转发至其他界面

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…