Django二转Day03 04

0 cbv执行流程,self问题

path('index/', Myview.as_view()),Myview.as_view()
实例化后返回
变成return Myview.dispatch(request, *args, **kwargs)但是视图函数Myview中没有 dispatch 方法
所以去
父类View中寻找return View.dispatch(request, *args, **kwargs)调用View.dispatchdef dispatch(self, request, *args, **kwargs):if request.method.lower() in self.http_method_names:handler = getattr(self, request.method.lower(),        self.http_method_not_allowed)else:handler = self.http_method_not_allowedreturn handler(request, *args, **kwargs)虽然调用的是View.dispatch,但是self参数是Myview
dispatch函数中做了赋值,handler被赋予了self.http_method_names中的一个
返回(假设)get所以Myview.as_view()最后会变成调用Myview类中的get方法
也就是Myview.get()

 1 你自己写一个类,实现JsonResponse 功能,不需要传safe=False,无论字典或列表,都能完成序列化返回给前端

class MyJson(HttpResponse):def __init__(self,data,**kwargs,):kwargs.setdefault('content_type', 'application/json')data = json.dumps(data)super().__init__(content=data, **kwargs)def aaa(request):return MyJson(['name','xht'],)

 2 四种情况,在响应头返回数据  xx=xx

HttpResponse

return HttpResponse('ok',headers={'xxx':'xxx'})obj = HttpResponse('ok')obj['yyy'] = 'yyy'  # 像字典一样放入,最终会放在http的响应头中return obj

redirect

return redirect('http://www.baidu.com')res=resolve_url('login')return redirect('/login', headers={'xxx': 'ssss'})  # 不生效obj = redirect('/login')obj['xxx'] = 'xxx'return obj

 render

 return render(request,'index.html',headers={'xxx': 'ssss'}) # 不行obj = render(request, 'index.html')obj['xxx'] = 'xxx'return obj

 JsonResponse

  4 JsonResponsereturn JsonResponse({'name':'lqz'},headers={'xxx': 'ssss'})obj=JsonResponse({'name':'lqz'})obj['yyy']='yyy'return obj

3 绑定给类的方法,类来

调用,对象可以调用吗?如何用

类里面直接写函数默认绑定给对象
可以,点语法直接调用,但是要传参数(包括self参数)

4 绑定给对象的方法,对象来调用,类可以调用吗?如何用

类里的函数加@classmethod装饰器就是把方法绑定给类,把方法的第一个形参改为cls
可以,一般不用,调用时将类当作第一个参数传入

 5 写个图片上传功能,图片保存在根路径media文件夹下,上传成功直接在前端显示出上传的图片

 

 

 

 6 页面静态化

逻辑判断

导包

 

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Selenium(12):层级定位_通过父元素找到子元素

层级定位 在实际的项目测试中,经常会遇到无法直接定位到需要选取的元素,但是其父元素比较容易定位,通过定位父元素再遍历其子元素选择需要的目标元素,或者需要定位某个元素下所有的子元素。 层级定位的思想是先定位父对象&#xf…

C现代方法(第24章)笔记——错误处理

文章目录 第24章 错误处理24.1 <assert.h>: 诊断24.2 <errno.h>: 错误24.2.1 perror函数和strerror函数 24.3 <signal.h>: 信号处理24.3.1 信号宏24.3.2 signal函数24.3.3 预定义的信号处理函数24.3.4 raise函数 24.4 <setjmp.h>: 非局部跳转问与答写在…

【腾讯云云上实验室】向量数据库+LangChain+LLM搭建智慧辅导系统实践

目录 一、搭建智慧辅导系统——向量数据库实践指南1.1、创建向量数据库并新建集合1.2、使用 TKE 快速部署 ChatGLM1.3、部署 LangChain PyPDFVectorDB等组件1.4、配置知识库语料1.5、基于 VectorDB LLM 的智能辅导助手 二、LLM时代的次世代引擎——向量数据库2.1、向量数据库L…

FastDFS+Nginx - 本地搭建文件服务器同时实现在外远程访问「内网穿透」

文章目录 前言1. 本地搭建FastDFS文件系统1.1 环境安装1.2 安装libfastcommon1.3 安装FastDFS1.4 配置Tracker1.5 配置Storage1.6 测试上传下载1.7 与Nginx整合1.8 安装Nginx1.9 配置Nginx 2. 局域网测试访问FastDFS3. 安装cpolar内网穿透4. 配置公网访问地址5. 固定公网地址5.…

ProgrammingError: nan can not be used with MySQL

该错误怎么发生的&#xff1f; 我们先在本地创建测试表&#xff1a; CREATE TABLE users_test (id int NOT NULL AUTO_INCREMENT COMMENT 主键,trade_account varchar(50) DEFAULT NULL COMMENT 交易账号,username varchar(50) DEFAULT NULL,email varchar(100) DEFAULT NULL…

acwing算法基础之数学知识--求组合数进阶版

目录 1 基础知识2 模板3 工程化 1 基础知识 请明确如下关于取余的基本定理&#xff1a; 数a和数b的乘积模上p&#xff0c;等于数a模上p和数b模上p的乘积。即&#xff0c; ( a ⋅ b ) m o d p ( a m o d p ) ⋅ ( b m o d p ) (a \cdot b ) \ mod \ p (a \ mod \ p) \cdot …

数字系列——数字经济

数字经济是全球经济未来发展方向&#xff0c;正在成为重组全球要素资源、重塑全球经济结构、改变全球竞争格局的关键力量。都知道数字经确实很重要&#xff0c;但有些人还傻傻搞不懂数字经济到底是什么&#xff1f;小编今天就给大家捋一捋。 什么是数字经济&#xff1f; 数字经…

Glove学习笔记

global vectors for word representation B站学习视频 1、LSA与word2vec 我们用我们的见解&#xff0c;构建一个新的模型&#xff0c;Glove&#xff0c;全局向量的词表示&#xff0c;因为这个模型捕捉到全局预料的统计信息。 LSA:全局矩阵分解word2vec&#xff1a;局部上下文…

全国最大液冷数据中心全链基地

10月27日&#xff0c;曙光数创于青岛举办“深蓝计划”新品发布会暨曙光数创(青岛)产业创新基地启动仪式。会上曙光数创发布新一代一体化风液混冷先进数据中心&#xff0c;并宣布全国规模最大的液冷数据中心全链条产业创新基地正式启动。 “曙光数创希望通过全场景可用、全行业适…

AI生成的图片有版权了

我是卢松松&#xff0c;点点上面的头像&#xff0c;欢迎关注我哦&#xff01; 把发到小红书的AI图片搬运到百家号&#xff0c;然后被起诉了! 长知识了&#xff0c;原来AI生成的图片也有版权了&#xff0c;AI生成图片著作权第一案判了&#xff0c;这绝对是一件划时代事情&…

微信小程序真机调试技巧,解决各种疑难杂症

1.在真机上看log 也许你调试的时候&#xff0c;会使用到真机调试或者预览模式或者体验版模式&#xff0c;这些模式都有可能出现意想不到的bug问题&#xff0c;这时候调试模式就非常非常重要了&#xff0c;特别是给领导看的时候&#xff0c;在领导手机上出现bug了&#xff0c;这…

QT 项目中添加文件夹(分类文件)

为了更方便的整理项目的文件&#xff0c;添加文件夹把文件进行分类。 1.首先在项目文件中创建新的文件夹 2.把需要归类的文件放入新建的文件中 3.右键然后选择add..... 4.运行此程序&#xff0c;会报错因为文件路径改变了&#xff0c;需要在.pro中修改路径 注意事项 文件夹内部…

NSSCTF第14页(2)

[UUCTF 2022 新生赛]ezpop 提示说看看反序列化字符串逃逸 PHP反序列化字符串逃逸_php反序列化逃逸-CSDN博客 php反序列化字符逃逸_php反序列化逃逸_Leekos的博客-CSDN博客 buuctf刷题9 (反序列化逃逸&shtml-SSI远程命令执行&idna与utf-8编码漏洞)_extract($_post);…

[PTP][1588v2] Delay_Resp消息

一、报文格式 0------3--------7--------11--------15--------------------------------31 |TranSpec|MsgType|Reserved1| VerPTP | MsgLength | ----------------|------------------|---------------------------------| | DomainNumber | Res…

码云配置遇到秘钥不正确

你这个就是秘钥没有和git绑定&#xff0c; 需要 git config --global user.name "你的用户名随便写" git config --global user.email "你的邮箱"

DCAMnet网络复现与讲解

距论文阅读完毕已经过了整整一周多。。。终于抽出时间来写这篇辣&#xff01;~ 论文阅读笔记放这里&#xff1a; 基于可变形卷积和注意力机制的带钢表面缺陷快速检测网络DCAM-Net&#xff08;论文阅读笔记&#xff09;-CSDN博客 为了方便观看&#xff0c;我把结构图也拿过来了。…

VS的调试

1.Visual Studio 中&#xff0c;Release、Debug、x86和x64 四个不同的概念 1&#xff09;Release 和 Debug 是编译的不同配置&#xff0c;用于控制编译器生成的代码和符号信息的方式。 Release 配置用于生成最终发布版本的代码。在 Release 模式下&#xff0c;编译器会进行各…

软考:2024年软考高级:软件工程

软考&#xff1a;2024年软考高级: 提示&#xff1a;系列被面试官问的问题&#xff0c;我自己当时不会&#xff0c;所以下来自己复盘一下&#xff0c;认真学习和总结&#xff0c;以应对未来更多的可能性 关于互联网大厂的笔试面试&#xff0c;都是需要细心准备的 &#xff08;1…

2023 年 IntelliJ IDEA下载、安装教程,附详细图文

大家好&#xff0c;今天为大家带来的是 2023年 IntelliJ IDEA 下载、安装教程&#xff0c;超详细的图文教程&#xff0c;亲测可用。 文章目录 1 IDEA 下载2 IDEA 安装3 IDEA 使用4 快捷键新手必须掌握&#xff1a;Ctrl&#xff1a;Alt&#xff1a;Shift&#xff1a;Ctrl Alt&a…

机械臂仿真之vrep如添加视觉传感器

基于视觉的机械臂作业任务&#xff0c;如何在vrep中加入视觉传感器&#xff0c;并获取画面&#xff1f;