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…

【腾讯云云上实验室】向量数据库+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

该错误怎么发生的? 我们先在本地创建测试表: 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…

数字系列——数字经济

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

Glove学习笔记

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

AI生成的图片有版权了

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

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

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

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

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

NSSCTF第14页(2)

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

码云配置遇到秘钥不正确

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

DCAMnet网络复现与讲解

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

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

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

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

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

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

基于视觉的机械臂作业任务,如何在vrep中加入视觉传感器,并获取画面?

认证鉴权方案

现在一般使用比较多的认证方式有四种: SessionTokenSSO单点登录OAtuth登录1.Cookie + Session 最常见的就是 Cookie + Session 认证。 Session,是一种有状态的会话管理机制,其目的就是为了解决HTTP无状态请求带来的问题。 当用户登录认证请求通过时,服务端会将用户的信息存…

【排序,直接插入排序 折半插入排序 希尔插入排序】

文章目录 排序排序方法的分类插入排序直接插入排序折半插入排序希尔插入排序 排序 将一组杂乱无章的数据按照一定规律排列起来。将无序序列排成一个有序序列。 排序方法的分类 储存介质: 内部排序:数据量不大,数据在内存,无需…

JeecgBoot低代码开发—Vue3版前端入门教程

JeecgBoot低代码开发—Vue3版前端入门教程 后端接口配置VUE3 必备知识1.vue3新特性a. https://v3.cn.vuejs.org/b.setup的用法c.ref 和 reactive 的用法d.新版 v-model 的用法e.script setup的用法 2.TypeScript基础 后端接口配置 如何修改后台项目路径 http://127.168.3.52:8…

【brpc学习实践】ParallelChannel的使用与并行请求

概览 ParallelChannel (有时被称为“pchan”)同时访问其包含的sub channel,并合并它们的结果。用户可通过CallMapper修改请求,通过ResponseMerger合并结果。ParallelChannel看起来就像是一个Channel: 支持同步和异步访问。 发起异步操作后可以立刻删除。 可以取消。 支持超…

ELFK集群部署(Filebeat+ELK) 本地收集nginx日志 远程收集多个日志

filebeat是一款轻量级的日志收集工具,可以在非JAVA环境下运行。 因此,filebeat常被用在非JAVAf的服务器上用于替代Logstash,收集日志信息。 实际上,Filebeat几乎可以起到与Logstash相同的作用, 可以将数据转发到Logst…