当前位置: 首页 > news >正文

重庆潼南网站建设公司/seo排名怎么看

重庆潼南网站建设公司,seo排名怎么看,wordpress 角色,市场营销毕业论文【一】三板斧 【1】HttpResponse 返回字符串类型 【2】render 返回html页面,并且在返回给浏览器之前还可以给html页面传值 【3】redirect 重定向页面 在视图文件中写视图函数的时候不能没有返回值了,默认返回的是None,页面上就会报错 d…

【一】三板斧

【1】HttpResponse

  • 返回字符串类型

【2】render

  • 返回html页面,并且在返回给浏览器之前还可以给html页面传值

【3】redirect

  • 重定向页面

在视图文件中写视图函数的时候不能没有返回值了,默认返回的是None,页面上就会报错

def render(request, template_name, context=None, content_type=None, status=None, using=None):content = loader.render_to_string(template_name, context, request, using=using)return HttpResponse(content, content_type, status)

【二】JsonReponse序列化类的使用

序列化
json格式的数据
{"a":1}
json有什么用:
    跨语言传输
序列化:json.dumps
反序列化:json.loads

from django.http import JsonResponse
def index(request):user_dict = {'username':'kevin你好'}user_dict = [1, 2, 3, 4]res=json.dumps(user_dict,ensure_ascii=False)return  HttpResponse(res)#通过看源码学技术return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})return JsonResponse(user_dict,safe=False)return render(request,'index.html')

【三】form表单文件上传下载

form表单上传数据以及后端如何获取

form知识回顾

<form action="" method="post" enctype="multipart/form-data"></form>
  • form表单想要上传文件类型的数据
    • method 参数必须改为post
    • enctype 参数必须指定成 form-data 类型

【2】数据处理

(1)POST请求数据
print(request.POST) # 接收的都是普通的数据,非文件数据<MultiValueDict: {'myfile': [<InMemoryUploadedFile: 234.png (image/png)>]}>
print(request.FILES) # 只接受文件数据,普通数据还在request.POST里面
def index(request):user_dict = {'username':'kevin你好'}user_dict = [1, 2, 3, 4]res=json.dumps(user_dict,ensure_ascii=False)return  HttpResponse(res)# 通过看源码学技术return JsonResponse(user_dict,json_dumps_params={'ensure_ascii':False})return JsonResponse(user_dict,safe=False)return JsonResponse(user_dict,safe=False)<QueryDict: {'myfile': ['234.png']}><QueryDict: {}>print(request.POST)<MultiValueDict: {'myfile': [<InMemoryUploadedFile: 234.png (image/png)>]}>file_obj=request.FILES.get('myfile')file_list = file_obj.name.split('.') # 123.png
(2)文件数据获取
    import uuidrandom_str=str(uuid.uuid4())file_name = random_str + file_obj.name.split('.')[-1]with open(file_name, 'wb') as f:for line in file_obj:f.write(line)print(request.body) # 接收纯原生的二进制数据,没有任何的处理 b''----> str---->decode---->dict...print(request.POST.get('')) # 之所以你能够直接按照字典的方式取值,是因为django给做了封装print(request.path)  # /index/  /index/print(request.path_info) # /index/   /index/print(request.get_full_path()) # /index/  /index/?a=1&b=2print(request.GET.get(''))return render(request,'index.html')

【四】总结request对象方法

【1】request.method

  • request.method:该方法返回客户端用于发起请求的HTTP方法。例如,可以是'GET'、'POST'、'PUT'、'DELETE'等。您可以使用该方法来确定请求的类型,并相应地执行特定操作。

【2】request.POST

  • request.POST:该属性是一个类似字典的对象,包含了请求中通过POST方法发送的所有参数。这些参数通常是通过HTML表单发送的。您可以使用参数的名字作为键来访问单个参数,例如request.POST['username']

【3】request.GET

  • request.GET:类似于request.POST,该属性包含了请求中通过GET方法发送的所有参数。这些参数通常会附加在URL之后,以问号分隔。您可以使用参数的名字作为键来访问单个参数,例如request.GET['page']

【4】request.FILES

  • request.FILES:该属性是一个类似字典的对象,包含了请求中通过文件上传组件发送的所有文件。当表单中包含文件上传字段时,通过request.FILES可以访问上传的文件。您可以使用文件的名字作为键来访问单个文件,例如request.FILES['file']

【5】request.path

只能获取到路由地址,无法获取到参数

  • request.path:该属性表示请求URL中的路径部分。它包含在域名之后,在任何查询参数之前。例如,如果请求的URL是"http://example.com/foo/bar/",那么request.path将为"/foo/bar/"。

【6】request.path_info

只能获取到路由地址,无法获取到参数

  • 用于表示请求URL的路径部分,不包括域名和查询参数。
  • 与 request.path 相比,request.path_info 更加原始和未经解析。它保留了URL路径中的任何编码、特殊字符或斜杠等信息。
  • 例如,对于以下请求URL:"http://example.com/foo/bar/?page=2",request.path_info 的值将是 "/foo/bar/"。
  • 通常情况下,您可以使用 request.path 来获取丢弃域名后的路径,而使用 request.path_info 来获取原始的、未解析的路径。这在某些情况下非常有用,例如当您需要对URL进行一些自定义操作或路由处理时。

【7】request.get_full_path()

即能获取到路由地址又能获取到完整的路由地址后面的参数

  • request.get_full_path():该方法返回请求URL的完整路径,包括路径部分和任何查询参数。当您需要将完整URL作为字符串使用时,这个方法非常有用。例如,如果请求的URL是"http://example.com/foo/bar/?page=2",request.get_full_path()将返回"/foo/bar/?page=2"。
     

【四】FBV与CBV引入

视图函数既可以是函数也可以是类

【1】FBV

def index(request):return HttpResponse('index')

【2】CBV

(1)CBV的写法
from django.views import Viewclass MyLogin(View):def get(self, request):print('get。。。')return HttpResponse("get")def post(self, request):return HttpResponse("hello postman!!!")url(r'^login/', views.MyLogin.as_view()),
(2)CBV的源码分析
# 入口
url(r'^login/', views.MyLogin.as_view()),# View类中得as_view方法的返回值是view函数名
# 当请求来的时候,会触发view函数的执行
def view(request, *args, **kwargs):# cls:Mylogin()------>self对象self = cls(**initkwargs)return self.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)from django.views import Viewclass MyLogin(View):http_method_names = ['get', 'post']def get(self, request):print('get。。。')self.index()return HttpResponse("get")def post(self, request):return HttpResponse("hello postman!!!")def index(self):pass权限、频率、jwt的源码

MBV和CBV各有各的特点,都有应用

  • CBV特点
    • 能够直接根据请求方式的不同直接匹配到对应的方法执行
(3)小结
  • 选择使用 FBV 还是 CBV 取决于具体的需求和个人偏好。
  • FBV 相对简单直观,适合编写简单的视图逻辑;
  • 而 CBV 可以通过继承和重写类来实现代码复用和可扩展性,适用于复杂的视图处理场景。
  • 在实际开发中,可以根据需求选择适合的方式来编写视图处理函数或类。

相关文章:

Django框架之视图层

【一】三板斧 【1】HttpResponse 返回字符串类型 【2】render 返回html页面&#xff0c;并且在返回给浏览器之前还可以给html页面传值 【3】redirect 重定向页面 在视图文件中写视图函数的时候不能没有返回值了&#xff0c;默认返回的是None&#xff0c;页面上就会报错 d…...

商城免费搭建之java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端&#xff08;PC端、手机端&#xff09;、买家平台&#xff08;H5/公众号、小程序、APP端&#xff08;IOS/Android&#xff09;、微服务平台&#xff08;业务服务&#xff09; 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…...

AI机器学习实战 | 使用 Python 和 scikit-learn 库进行情感分析

专栏集锦&#xff0c;大佬们可以收藏以备不时之需 Spring Cloud实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9270827.html Python 实战专栏&#xff1a;https://blog.csdn.net/superdangbo/category_9271194.html Logback 详解专栏&#xff1a;https:/…...

CANoe-Logging模块如何抓取总线数据

在CANoe测量期间(CANoe运行时),总线数据经由Measurement Setup界面的各分析模块的输入口流入Trace、Graphics、Data等窗口中,或统计、或显示、或分析。总线数据除了能流入分析窗口中做解析外,还可以保存到log文件中,留作其他人分析或复现的文件。 在Measurement Setup界…...

Unity中Shader的矩阵加减法

文章目录 前言一、什么是矩阵矩阵就是一组数的阵列 二、矩阵的加法三、矩阵的负值四、矩阵的减法五、矩阵的表示 前言 Unity中Shader用到的矩阵加减法&#xff0c;以及矩阵的一些基础常识 一、什么是矩阵 矩阵就是一组数的阵列 1 2 3 4 5 6 二、矩阵的加法 两个矩阵相加就是…...

IIC总线概述和通信时序代码详细图文解析

IIC总线 1 IIC总线概述 I2C总线两线制包括&#xff1a;串行数据SDA&#xff08;Serial Data&#xff09;、串行时钟SCL&#xff08;Serial Clock&#xff09;。总线必须由主机&#xff08;通常为微控制器&#xff09;控制&#xff0c;主机产生串行时钟&#xff08;SCL&#x…...

EtherCAT 伺服控制功能块实现

EtherCAT 是运动控制领域主要的通信协议&#xff0c;开源EtherCAT 主站协议栈 IgH 和SOEM 两个项目&#xff0c;IgH 相对更普及一些&#xff0c;但是它是基于Linux 内核的方式&#xff0c;比SOEM更复杂一些。使用IgH 协议栈编写一个应用程序&#xff0c;控制EtherCAT 伺服电机驱…...

如何基于OpenCV和Sklearn算法库开展机器学习算法研究

大家在做机器学习或深度学习研究过程中&#xff0c;不可避免都会涉及到对各种算法的研究使用&#xff0c;目前比较有名的机器学习算法库主要有OpenCV和Scikit-learn&#xff08;简称Sklearn&#xff09;&#xff0c;二者都支持各种机器学习算法&#xff0c;主要有监督学习、无监…...

在 Node.js 中发出 HTTP 请求的 5 种方法

在 Node.js 中发出 HTTP 请求的 5 种方法 学习如何在 Node.js 中发出 HTTP 请求可能会让人感到不知所措&#xff0c;因为有数十个可用的库&#xff0c;每个解决方案都声称比上一个更高效。一些库提供跨平台支持&#xff0c;而另一些库则关注捆绑包大小或开发人员体验。 在这篇…...

pipeline agent分布式构建

开启 agent rootjenkins:~/learning-jenkins-cicd/07-jenkins-agents# docker-compose -f docker-compose-inbound-agent.yml up -d Jenkins配置添加 pipeline { agent { label docker-jnlp-agent }parameters {booleanParam(name:pushImage, defaultValue: true, descript…...

MySQL(17):触发器

概述 MySQL从 5.0.2 版本开始支持触发器。MySQL的触发器和存储过程一样&#xff0c;都是嵌入到MySQL服务器的一段程序。 触发器是由 事件来触发 某个操作&#xff0c;这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。 所谓事件就是指用户的动作或者触发某项行为。 如果定义了触…...

挖掘PostgreSQL事务的“中间态”----更加严谨的数据一致性?

1.问题 今天在上班途中&#xff0c;中心的妹纸突然找我&#xff0c;非常温柔的找我帮忙看个数据库的报错。当然以我的性格&#xff0c;妹子找我的事情对我来说优先级肯定是最高的&#xff0c;所以立马放下手中的“小事”&#xff0c;转身向妹子走去。具体是一个什么样的问题呢…...

多种方法实现conda环境迁移

Conda 为包管理器和虚拟环境管理器。在配置完项目环境&#xff0c;进行了编写和测试代码&#xff0c;需要大量数据测试运行时&#xff0c;需要将其移至另一台主机上。Conda 提供了多种保存和移动环境的方法。 方法1&#xff1a; scp拷贝法&#xff0c;直接将envs的环境文件夹…...

C++ string类(一)

1.C语言中的字符串 C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离开的&#xff0c;不太符 OOP(Object Oriented Programming)的思想&#xff0c;而且…...

系统时间和JVM的Date时间不一致问题解决

通过Java得到的时间与操作系统时间不一致&#xff0c;如何修改Java虚拟机时间&#xff1f; 造成这种问题的原因可能是&#xff1a;你的操作系统时区跟你JVM的时区不一致。 你的操作系统应该是中国的时区吧&#xff0c;而JVM的时区不一定是中国时区&#xff0c;你在应用服务器…...

23111701[含文档+PPT+源码等]计算机毕业设计javaweb点餐系统全套餐饮就餐订餐餐厅

文章目录 **项目功能简介:****点餐系统分为前台和后台****前台功能介绍&#xff1a;****后台功能介绍&#xff1a;** **论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;77687156…...

RabbitMQ 部署及配置详解(集群部署)

单机部署请移步&#xff1a; RabbitMQ 部署及配置详解 (单机) RabbitMQ 集群是一个或 多个节点&#xff0c;每个节点共享用户、虚拟主机、 队列、交换、绑定、运行时参数和其他分布式状态。 一、RabbitMQ 集群可以通过多种方式形成&#xff1a; 通过在配置文件中列出群集节点以…...

基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码

基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码 文章目录 基于蝠鲼觅食算法优化概率神经网络PNN的分类预测 - 附代码1.PNN网络概述2.变压器故障诊街系统相关背景2.1 模型建立 3.基于蝠鲼觅食优化的PNN网络5.测试结果6.参考文献7.Matlab代码 摘要&#xff1a;针对PNN神…...

「分享学习」SpringCloudAlibaba高并发仿斗鱼直播平台实战完结

[分享学习]SpringCloudAlibaba高并发仿斗鱼直播平台实战完结 第一段&#xff1a;简介 Spring Cloud Alibaba是基于Spring Cloud和阿里巴巴开源技术的微效劳框架&#xff0c;普遍应用于大范围高并发的互联网应用系统。本文将引见如何运用Spring Cloud Alibaba构建一个高并发的仿…...

Vue|props配置

props是Vue中用于传递数据的属性。通过在子组件的选项中定义props属性&#xff0c;可以指定子组件可以接收的数据以及其他配置选项。父组件可以通过在子组件上使用特定的属性来传递数据。 目录 目录 App.vue 什么是App.vue 组件引用 props配置 组件复用 案例1&#xff1a…...

使用Microsoft Dynamics AX 2012 - 2. 入门:导航和常规选项

Microsoft Dynamics AX的核心原则之一是为习惯于Microsoft软件的用户提供熟悉的外观和感觉。然而&#xff0c;业务软件必须适应业务流程&#xff0c;这可能相当复杂。 用户界面和常见任务 在我们开始进行业务流程和案例研究之前&#xff0c;我们想了解一下本章中的常见功能。…...

【代码随想录】算法训练计划21、22

day 21 1、530. 二叉搜索树的最小绝对差 题目&#xff1a; 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 思路&#xff1a; 利用了二叉搜索树的中序遍历特性用了双指…...

java实现钉钉机器人消息推送

项目开发中需要用到钉钉机器人发送任务状态&#xff0c;本来想单独做一个功能就好&#xff0c;但是想着公司用到钉钉机器人发送项目挺多的。所以把这个钉钉机器人抽离成一个组件发布到企业maven仓库&#xff0c;这样可以给其他同事用提高工作效率。 1.目录结构 2.用抽象类&…...

C语言之break continue详解

C语言之break continue 文章目录 C语言之break continue1. break 和 continue2. while语句中的break和continue2.1break和continue举例 3. for语句中的break和continue3.1break和continue举例 1. break 和 continue 循环中break和continue 在循环语句中&#xff0c;如果我达到…...

mysql group by 执行原理及千万级别count 查询优化

大家好&#xff0c;我是蓝胖子,前段时间mysql经常碰到慢查询报警&#xff0c;我们线上的慢sql阈值是1s&#xff0c;出现报警的表数据有 7000多万&#xff0c;经常出现报警的是一个group by的count查询&#xff0c;于是便开始着手优化这块&#xff0c;遂有此篇&#xff0c;记录下…...

Linux的几个常用基本指令

目录 1. ls 指令2.pwd命令3.cd 指令4. touch指令5.mkdir指令6.rmdir指令 && rm 指令7.man指令8.cp指令9.mv指令10.cat指令 1. ls 指令 语法&#xff1a; ls [选项][目录或文件] 功能&#xff1a;对于目录&#xff0c;该命令列出该目录下的所有子目录与文件。对于文件&…...

mac中安装Homebrew

1、Homebrew是什么&#xff1f; 软件安装管理工具 2、先检查电脑中是否已经安装了Homebrew 打开终端输入&#xff1a;brew 提示命令没有找到&#xff0c;说明电脑没有安装Homebrew 如果提示上述图片说明Homebrew已经安装成功 3、安装Homebrew 进入https://brew.sh/ 复制的命…...

Vue23的计算属性(computed)

Vue2&3的计算属性&#xff08;computed&#xff09; Vue2的计算属性 原理&#xff1a;data中的属性通过计算得到新的属性&#xff0c;称为计算属性&#xff08;computed&#xff09;。computed 具有 getter 和 setter 属性 getter 属性在使用时分别有两次调用&#xff1a…...

vue3中祖孙组件之间的通信provide和inject

一、在vue3中新增的祖孙之间通信的方式 provide和inject是Vue中的两个相关功能&#xff0c;它们一起提供了一种祖孙组件之间共享数据的方式。父组件可以使用provide来提供数据&#xff0c;而子孙组件可以使用inject来接收这些数据。 二、使用 父组件中部分代码 <script&g…...

月影下的时光机:Python中的日期、时间、农历、节气和时区探秘

前言 在现代软件开发中&#xff0c;对日期、时间和时区的准确处理至关重要。无论是全球化应用的开发&#xff0c;还是与时序数据相关的任务&#xff0c;都需要强大而灵活的工具。Python作为一门流行的编程语言&#xff0c;提供了丰富的标准库和第三方库&#xff0c;使得处理日…...