06 - Django 视图view
HttpRequest 和 HttpResponse
Django中的视图主要用来接受Web请求,并做出响应。
视图的本质就是一个Python中的函数
视图的响应分为两大类
- 以
Json数据
形式返回(JsonResponse) - 以网页的形式返回
- 重定向到另一个网页 (HttpResponseRedirect)
- 错误视图(4XX,5XX) (HttpResponseNotFound, HttpResponseForbidden, HttpResponseNotAllowed 等)
- 视图响应过程:
- 浏览器输入-> urls路由匹配 -> 视图响应 -> 回馈到浏览器
- 视图参数:
- 一个HttpRequest的实例,一般命名为request
- 通过ur1正则表达式传递过来的参数
- 位置:
通常在应用下的views.py
中定义
- 错误视图:
- 404视图(页面没找到)
- 400视图(客户操作错误)
- 500视图(服务器内部错误)
HttpRequest
服务器在接收到Http请求后,会根据报文创建HttpRequest对象
视图中的第一个参数就是HttpRequest对象
Django框架接收到http请求之后会将http请求包装为HttpRequest对象,之后传递给视图。
request常用属性和方法:属性:path 请求的完整路径method 请求的方法,常用GET, POSTGET 类似字典的参数,包含了get的所有参数POST 类似字典的参数,包含了post所有参数FILES 类似字典的参数,包含了上传的文件COOKIES 字典,包含了所有COOKIEsession 类似字典,表示会话META 一个字典,包含了请求的元信息,例如:'REMOTE_ADDR' 客户端的IP地址方法:is_ajax() 判断是否是ajax请求,通常用在移动端和JS中get_full_path() 返回包含参数字符串的请求路径QueryDict:类似字典的对象。与字典的区别:可以存在相同的键。QueryDict中数据获取方式:dict['uname'] 或 dict.get('uname') 获取指定key对应的第一个值dict.getlist('uname') 获取指定key对应的所有值
HttpResponse
HttpResponse由程序员自己创建:1)不使用模板,直接调用HttpResponse(),返回HttpResponse对象。2)调用模板,进行渲染。使用renderrender(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) 设置cookiedelete_cookie(key) 删除cookieHttpResponse子类HttpResponseRedirect响应重定向:可以实现服务器内部跳转return HttpResponseRedirect('/grade/2030')使用的时候推荐使用反向解析JsonResponse返回Json数据的请求,通常用在异步请求上JsonResponse(dict)返回json数据时, Content-type是application/json
views.py
from django.http import HttpResponse, HttpResponseRedirect, JsonResponse
from django.shortcuts import redirect, render# Create your views here.def myrequest(request):print(request) # <WSGIRequest: GET '/request/?name=lisi&age=18'># request对象的属性和方法print(request.method) # GET / POST/ PUT/ DELETEprint(request.GET) # QueryDict对象(类字典对象,可以使用字典方法),包含GET请求参数print(request.GET['name']) # 如果name不存在,会报错print( request.GET.get('name')) # 如果name不存在,返回None或者默认值print(request.GET.getlist('name')) # 如果name不存在,返回空列表, 否则返回列表print(request.POST) # QueryDict对象,包含POST请求参数print(request.path) # 请求路径/request/print(request.get_full_path()) # 请求完整路径 (包含查询字符串)/request/?name=lisi&age=18print(request.COOKIES) # 字典对象,包含cookie信息print(request.session) # 字典对象,包含session信息print(request.FILES) # 如果是上传文件,返回一个文件对象,否则返回None,前端上传的文件# print(request.META) # 字典对象,包含HTTP请求头信息print(request.META['REMOTE_ADDR']) return HttpResponse("Hello Django!")def myresponse(request):# 1. 直接返回字符串# return HttpResponse("Hello Django!")# 2. 传入模板文件, 前后端不分离# return render(request, 'index.html')# 3. 重定向, redirect, reverse# return redirect('/request/')# return HttpResponseRedirect('/request/')# 4. 返回json数据, 前后端分离的方式# data = {'name': 'lisi', 'age': 18}# return JsonResponse(data)response = HttpResponse()response.content = 'Hello Django!'response.status_code = 200return response
相关文章:
06 - Django 视图view
HttpRequest 和 HttpResponse Django中的视图主要用来接受Web请求,并做出响应。 视图的本质就是一个Python中的函数 视图的响应分为两大类 以Json数据形式返回(JsonResponse)以网页的形式返回 重定向到另一个网页 (HttpResponseRedirect)错误视图(4XX,5XX) (Htt…...
MySQL数据库(锁)
1、MySQL有哪些锁? 全局锁:flush tables with read lock 执行以下语句之后,使用全局锁,整个数据库就处于只读状态了,这时其他线程执行对数据的增删改或者对表结构的更改操作操作,都会被阻塞。 全局锁的应…...
Mac Android studio 升级LadyBug 版本,所产生的bug
当Build 出现,这样的文字以后: Your build is currently configured to use incompatible Java 21.0.3 and Gradle 7.3.3. Cannot sync the project. We recommend upgrading to Gradle version 8.9. The minimum compatible Gradle version is 8.5. …...
springboot/ssm社区助老志愿者服务平台Java代码编写web志愿捐赠活动项目
springboot/ssm社区助老志愿者服务平台Java代码编写web志愿捐赠活动项目 基于springboot(可改ssm)vue项目 开发语言:Java 框架:springboot/可改ssm vue JDK版本:JDK1.8(或11) 服务器:tomcat 数据库&am…...
基于Java+Jsp Servlet Mysql实现的Java Web在线商城项目系统设计与实现
一、前言介绍: 1.1 项目摘要 随着互联网技术的飞速发展,电子商务已成为现代商业活动的重要组成部分。在线商城作为电子商务的一种重要形式,以其便捷性、高效性和广泛覆盖性,受到了越来越多消费者的青睐。同时,随着消…...
安装K8s集群
文章首发于我的博客 :https://blog.liuzijian.com/post/9aa6d426-a01c-05b0-6f7a-5da4343f0f9e.html 因阿里云加速服务调整,镜像加速服务自2024年7月起不再支持,拉取镜像,下载网络插件等操作,需要科学上网访问DockerHu…...
【数据科学导论】第一二章·大数据与数据表示与存储
🌈 个人主页:十二月的猫-CSDN博客 🔥 系列专栏: 🏀数据处理与分析_十二月的猫的博客-CSDN博客 💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光 目录 1. 前言…...
LabVIEW数字式气压计自动检定系统
开发了一个基于LabVIEW开发的数字式气压计自动检定系统。在自动化检定PTB220和PTB210系列数字气压计,通过优化硬件组成和软件设计,实现高效率和高准确度的检定工作,有效降低人力成本并提升操作准确性。 项目背景 随着自动气象站的广泛部署&a…...
按行分割文本函数(C++)
文本分割函数SplitText2Line解析 以下是对SplitText2Line函数的详细介绍: void SplitText2Line(s8* strText, std::vector<std::string>& vecStrLines) {// 1. 清空存储结果的向量vecStrLines.clear();// 2. 打印原始文本信息(用于调试目的&…...
要查询 `user` 表中 `we_chat_subscribe` 和 `we_chat_union_id` 列不为空的用户数量
文章目录 1、we_chat_subscribe2、we_chat_union_id 1、we_chat_subscribe 要查询 user 表中 we_chat_subscribe 列不为空的用户数量,你可以使用以下 SQL 查询语句: SELECT COUNT(*) FROM user WHERE we_chat_subscribe IS NOT NULL;解释: …...
【C语言程序设计——选择结构程序设计】预测你的身高(头歌实践教学平台习题)【合集】
目录😋 任务描述 相关知识 1、输入数值 2、选择结构语句 3、计算结果并输出 编程要求 测试说明 通关代码 测试结果 任务描述 本关任务:编写一个程序,该程序需输入个人数据,进而预测其成年后的身高。 相关知识 为了完成本…...
使用Excel制作通达信自定义外部数据,安排!!!
Excel相信大家电脑上都有这个工具,相比敲编程代码,用这个去做自定义数据对大多数人,应该是比较友好的。自定义数据分为外部序列数据,看了一下内容理解起来比较多,分两期给大家介绍。为了照顾电脑基础薄弱的朋友&#x…...
阿里云镜像服务使用指南
阿里云容器镜像服务ACR(Alibaba Cloud Container Registry)是面向容器镜像、Helm Chart等符合OCI标准云原生制品安全托管及高效分发平台。ACR企业版支持全球同步加速、大规模和大镜像分发加速、多代码源构建加速等全链路加速能力,与容器服务A…...
adb无法连接到安卓设备【解决方案】报错:adb server version (40) doesn‘t match this client (41);
下载老版本Platformtoolshttps://dl.google.com/android/repository/platform-tools_r28.0.2-windows.zip?hlzh-cn 替换原来的platform-tools文件夹即可。 问题原因分析:电脑端adb client版本(41)和安卓端adb …...
WPF TextBox 输入限制 详解
总目录 前言 通常对于WPF输入框 输入的控制无非以下方式 1 直接禁止输入(包括粘贴) 不符合要求的字符 如只可输入数字的输入框,当你输入字母的时候是无法输入的 2 输入后,校验内容是否符合要求,然后提示错误,禁止提交信息 如只可…...
安装Visual studio2022后,没法新建.net 4.5.2的项目
在Visual Studio 2022中无法新建.NET Framework 4.5.2的项目,通常是因为Visual Studio 2022默认不再支持较旧的.NET Framework版本,如4.5或4.5.2。不过,你可以通过一些手动步骤来使Visual Studio 2022支持.NET Framework 4.5.2项目。以下是一…...
【读书笔记】《论语别裁》孝道是这样一个东西
一、内容摘要 本章通过比较人类与其他动物的生存方式,探讨了孝道和人文文化的重要性。作者提到,在自然界中,所有生物都在为自身生存而努力,动物之间的亲子关系如母鸡保护小鸡体现了母性的重要性。虽然人类在外表上与动物无异&…...
【magic-dash】01:magic-dash创建单页面应用及二次开发
文章目录 一、magic-dash是什么1.1 安装1.2 使用1.2.1 查看内置项目模板1.2.2 生成指定项目模板1.2.3 查看当前magic-dash版本1.2.4 查看命令说明1.2.5 内置模板列表二、创建虚拟环境并安装magic-dash三、magic-dash单页工具应用开发3.1 创建单页面项目3.1.1 使用命令行创建单页…...
Python编程构建动态的圣诞画面
Python编程构建动态的圣诞画面 引言 今天是圣诞节,空气中弥漫着节日的气息。让我们利用Python编程技能,为我们的屏幕带来一丝节日的温暖。本文将引导你通过Python代码创建一个动态的圣诞场景,包括闪烁的圣诞树和房屋画面,所有这…...
2025年创业投资前瞻:AI、可持续发展与基础设施建设的深度整合
随着科技的进步和社会需求的变化,2025年的创业环境将更加复杂且充满机遇。本篇文章旨在为寻求在这一关键时期启动或扩展业务的企业家提供一份详尽的投资指南,聚焦于人工智能(AI)、可持续发展和基础设施建设三大核心领域。 1. 智能政府与公民服务 自动化行政流程:通过引入…...
vulnhub靶场-matrix-breakout-2-morpheus攻略(截止至获取shell)
扫描出ip为192.168.121.161 访问该ip,发现只是一个静态页面什么也没有 使用dir dirsearch 御剑都只能扫描到/robots.txt /server-status 两个页面,前者提示我们什么也没有,后面两个没有权限访问 扫描端口,存在81端口 访问&#x…...
C++软件设计模式之类型模式和对象型模式
在 C 软件设计模式中,通常将设计模式分为两大类:类型模式(Type Patterns)和对象型模式(Object Patterns)。这两种模式在实现和应用上有不同的特点和目的。 类型模式(Type Patterns)…...
Oracle、ACCSEE与TDMS的区别
Oracle、ACCSEE和TDMS都是不同类型的数据管理和存储工具,它们各自有独特的用途、结构和复杂性。Oracle是一个功能强大的关系型数据库管理系统,适用于大规模企业级应用,支持复杂查询和事务管理。ACCSEE主要应用于实时数据采集和过程监控&#…...
视频监控平台:Liveweb视频汇聚融合平台智慧安防视频监控应用方案
Liveweb是一款功能强大、灵活部署的安防视频监控平台,支持多种主流标准协议,包括GB28181、RTSP/Onvif、RTMP等,同时兼容海康Ehome、海大宇等厂家的私有协议和SDK接入。该平台不仅提供传统安防监控功能,还支持接入AI智能分析&#…...
【ES6复习笔记】箭头函数(5)
简介 本教程将介绍如何在 JavaScript 中使用箭头函数,包括箭头函数的基本语法、特点以及在实际开发中的应用。通过本教程,你将学会如何使用箭头函数来简化代码,提高代码的可读性和简洁性。 箭头函数的基本语法 箭头函数是 ES6 引入的一种新…...
数字IC前端学习笔记:脉动阵列的设计方法学(四)
相关阅读 数字IC前端https://blog.csdn.net/weixin_45791458/category_12173698.html?spm1001.2014.3001.5482 引言 脉动结构(也称为脉动阵列)表示一种有节奏地计算并通过系统传输数据的处理单元(PEs)网络。这些处理单元有规律地泵入泵出数据以保持规则…...
基于web的音乐网站(Java+SpringBoot+Mysql)
目录 1系统概述 1.1 研究背景 1.2研究目的 1.3系统设计思想 2相关技术 2.1?MYSQL数据库 2.2?B/S结构 2.3?Spring Boot框架简介 3系统分析 3.1可行性分析 3.1.1技术可行性 3.1.2经济可行性 3.1.3操作可行性 3.2系统性能分析 3.2.1 系统安全性 3.2.2 数据完整…...
从 GitLab.com 到 JihuLab.com 的迁移指南
本文分享从 GitLab.com 到 JihuLab.com 的迁移指南。 近期,GitLab Inc. 针对其 SaaS 产品做了限制,如果被判定为国内用户,则会建议使用其在国内的发布版本极狐GitLab。从 GitLab SaaS 产品(GitLab.com)迁移到极狐GitL…...
纯真社区版IP库CZDB数据格式使用教程
1. 概述 纯真社区版IP库是一种免费且公开的IP地理位置数据库,主要面向非商业用途。其最新推出的CZDB格式是一种全新的数据文件格式,自2024年10月起将成为官方维护和更新的唯一版本。该格式支持同时存储IPv4和IPv6地址信息,具备以下优点&…...
go window安装protoc protoc生成protobuf文件
1. 下载: Releases protocolbuffers/protobuf GitHub 2. 解压缩: 3. 配置环境变量: 选择系统变量->Path -> 新增 解压缩后的bin路径 4. 打印版本: protoc --version 5. 安装protoc-gen-go cmd 下输入安装命令࿰…...
ChildLife“童年时光杯”足球联赛启动 共促青少年健康成长
2024年12月21日至22日,由美国知名婴幼儿营养品牌ChildLife童年时光赞助的“童年时光杯”青少年足球联赛将在上海拉开帷幕。本次赛事U7/U8组别共有16支足球队参赛,包括上海幸运星足球俱乐部旗下的明星球队,以及其他青少年俱乐部的优秀队伍&…...
Erlang语言的数据结构
题目:Erlang数据结构:构建高效并发世界的基石 一、引言 在编程世界中,数据结构是组织和管理数据的关键工具,它不仅影响着程序的效率,还直接关系到代码的可读性和可维护性。Erlang,这门为高并发、容错性设…...
宏定义介绍
假设我们有以下代码: LOG_INFO("rkipc_ini_path_ is %s, rkipc_iq_file_path_ is %s, rkipc_log_level is %d\n",rkipc_ini_path_, rkipc_iq_file_path_, rkipc_log_level);1. LOG_INFO 宏定义 根据之前的 LOG_INFO 宏定义: #define LOG_IN…...
攻防世界 - Web - Level 1 unseping
关注这个靶场的其它相关笔记:攻防世界(XCTF) —— 靶场笔记合集-CSDN博客 0x01:Write UP 本关是一个 PHP 代码审计关卡,考察的是 PHP 反序列化漏洞以及命令执行的一些绕过手段,下面笔者将带你一步步过关。…...
【ES6复习笔记】ES6的模块化(18)
模块化的概念 模块化是指将一个复杂的系统分解为多个模块,每个模块完成一个特定的功能,模块之间通过接口进行通信。模块化的目的是提高代码的可读性、可维护性和可重用性。 模块化规范产品, ES6 之前的模块化规范有: CommonJS …...
[项目][boost搜索引擎#4] cpp-httplib使用 log.hpp 前端 测试及总结
目录 编写http_server模块 1. 引入cpp-httplib到项目中 2. cpp-httplib的使用介绍 3. 正式编写http_server 九、添加日志到项目中 十、编写前端模块 十一. 详解传 gitee 十二、项目总结 项目的扩展 写在前面 [项目详解][boost搜索引擎#1] 概述 | 去标签 | 数据清洗 |…...
vue3入门教程:计算属性
计算属性的基本用法 计算属性是通过computed函数创建的,它接受一个getter函数作为参数,并返回一个只读的响应式ref对象。该ref对象通过.value属性暴露getter函数的返回值。 <template><div><p>原始数据: {{ count }}</p><p…...
Linux大数据方向shell
一、概述 shell是一个命令行解释器,它接收应用程序/用户命令,然后调用操作系统内核,还是一个功能相当强大的编程语言,易编写,易调试,灵活性强。 二、shell入门 1.输出hello world touch helloworld.sh&…...
深度学习blog-卷积神经网络(CNN)
卷积神经网络(Convolutional Neural Network,CNN)是一种广泛应用于计算机视觉领域,如图像分类、目标检测和图像分割等任务中的深度学习模型。 1. 结构 卷积神经网络一般由以下几个主要层组成: 输入层:接收…...
Unity3D如何优化物理模拟?
在Unity3D中优化物理模拟可以显著提高游戏的性能和稳定性。以下是一些常见的优化策略: 1. 调整物理引擎设置 物理时间步长(Physics Time Step):这是物理引擎每次更新的时间间隔。较小的值可以提高物理模拟的精度,但会…...
C项目 天天酷跑(下篇)
上篇再博客里面有,接下来我们实现我们剩下要实现的功能 文章目录 碰撞检测 血条的实现 积分计数器 前言 我们现在要继续优化我们的程序才可以使这个程序更加的全面 碰撞的检测 定义全局变量 实现全局变量 void checkHit() {for (int i 0; i < OBSTACLE_C…...
认识Python语言
Python背景介绍 Python的作者是荷兰人 Guido van Rossum(龟叔)Python正是诞生于1991年Python目前有两个版本,Python2和Python3 代码不完全兼容源文件.py文件名后缀Python的解释如今有多个语言实现,我们常用的是Cpython或者IPytho…...
Python——day09
os模块 sys模块 time模块 logging模块...
机器视觉检测相机基础知识 | 颜色 | 光源 | 镜头 | 分辨率 / 精度 / 公差
注:本文为 “keyence 视觉沙龙中机器视觉检测基础知识” 文章合辑。 机器视觉检测基础知识(一)颜色篇 视觉检测硬件构成的基本部分包括:处理器、相机、镜头、光源。 其中,和光源相关的最重要的两个参数就是光源颜色和…...
在 CentOS 系统上安装 ClickHouse
在 CentOS 系统上安装 ClickHouse 数据库相对简单,可以通过官方提供的安装包来进行。以下是详细的安装步骤。 1. 更新系统 首先,确保你的系统是最新的,更新软件包和系统库: sudo yum update -y2. 安装依赖库 ClickHouse 需要一…...
FreeSql
官网 1、安装包 Install-Package FreeSql Install-Package FreeSql.Provider.SqlServer2、Program.cs 文件 using FreeSql; using Microsoft.OpenApi.Models; using System.Configuration;var builder WebApplication.CreateBuilder(args);builder.Services.AddController…...
webpakc介绍
介绍 因为不确定打出的前端包所访问的后端IP,需要对项目中IP配置文件单独拿出来,方便运维部署的时候对IP做修改。 因此,需要用webpack单独打包指定文件。 CommonsChunkPlugin module.exports {entry: {app: APP_FILE // 入口文件},outpu…...
自然语言处理基础
目录 一:文本表示 1:词的独热表示 2:词的分布式表示 (1)最初分布式表示 (2):点互信息(PMI) (3)奇异值分解(SVD&…...
创新引领,从零到一:陶氏减速机在高精密领域的深耕与突破
在高精密机械传动中,陶氏智能正以一款革命性的“第四类”减速机——环面包络多齿啮合减速机,书写着属于自己的传奇篇章。这款减速机不仅代表了技术的飞跃,更是对传统工业自动化领域的一次深刻革新,其影响力横跨航天航空、工业机器…...
神经网络-VggNet
2014年VggNet被推出,获取了ILSVRC2014比赛分类项目的第二名,第一名是GoogleNet,该网络在下节介绍,本节主要介绍VggNet。 VggNet可以称为是一个家族,根据层数的不同包括了A、A-LRN、B、C、D等网络结构,其中…...