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

模板引擎语法-过滤器

模板引擎语法-过滤器

文章目录

  • 模板引擎语法-过滤器
    • @[toc]
    • 1.default过滤器
    • 2.default_if_none过滤器
    • 3.length过滤器
    • 4.addslashes过滤器
    • 5.capfirst过滤器
    • 6.cut过滤器
    • 7.date过滤器
    • 8.dictsort过滤器

1.default过滤器

default过滤器用于设置默认值。default过滤器对于变量的作用:如果变量为false或“空”,则使用给定的默认值:否则使用变量自己的值。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['default'] = "default"context['default_nothing'] = ""template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了第一个属性default,并赋值为字符串“default”。

在变量context中添加了第二个属性default_nothing,并赋值为空字符串。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - default:<br><br>{{ default | default:"nothing" }}<br><br>{{ default_nothing | default:"nothing" }}<br><br>
</p></body>
</html>

【代码分析】

对变量default使用了default过滤器(默认值为字符串“nothing”)。

对变量default_nothing再次使用了同样的default过滤器(默认值为字符串“nothing”)

文件路径【TmplSite/gramapp/urls.py】

from django.urls import path
from . import viewsurlpatterns = [path('', views.index, name='index'),path('filters/', views.filters, name='filters'),
]

【访问验证】

变量default经过default过滤器处理后,仍旧输出了自身定义的值,因为变量default的值不为空。而变量default_nothing经过default过滤器处理后,输出了过滤器定义的值nothing,这是因为变量default_nothing的值定义为空。

在这里插入图片描述


2.default_if_none过滤器

default_if_none过滤器对于变量的作用:如果变量为None,则使用给定的默认值;否则,使用变量自己的值。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['default'] = "default"context['defaultifnone'] = Nonetemplate = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了第一个属性default,并赋值为字符串“default”。

在变量context中添加了第二个属性defaultifnone,并赋值为None。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - default_if_none:<br><br>{{ default | default_if_none:"var is None!" }}<br><br>{{ defaultifnone | default_if_none:"var is None!" }}<br><br>
</p></body>
</html>

【代码分析】

对变量default使用了default_if_none过滤器(默认值为字符串“var is None!”)。

对变量defaultifnone使用了同样的default_if_none过滤器(默认值同样为字符串“var is None!”)。

【访问验证】

变量default经过default_if_none过滤器处理后,仍旧输出了自身定义的值,因为变量default的值不为None。而变量defaultifnone经过default_if_none过滤器处理后,输出了过滤器定义的值"var is None!",这是因为变量defaultifnone的值定义为None。

在这里插入图片描述


3.length过滤器

该过滤器可以获取字符串、列表、元组、和字典等对象类型的长度。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['lenAlpha1'] = "abcde"context['lenAlpha2'] = ['a', 'b', 'c', 'd', 'e']context['lenAlpha3'] = ('a', 'b', 'c', 'd', 'e')context['lenAlphaDic'] = { 'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5 }template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了第一个属性lenAlpha1,并赋值为字符串“abcde”。

在变量context中添加了第二个属性lenAlpha1,并赋值为一个列表[‘a’, ‘b’, ‘c’, ‘d’, ‘e’]。

在变量context中添加了第三个属性lenAlpha3,并赋值为一个元组(‘a’, ‘b’, ‘c’, ‘d’, ‘e’)。

在变量context中添加了第四个属性lenAlphaDic,并赋值为一个字典{ ‘a’: 1, ‘b’: 2, ‘c’: 3, ‘d’: 4, ‘e’: 5 }。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - length:<br><br>{{ lenAlpha1 }} length : {{ lenAlpha1 | length }}<br><br>{{ lenAlpha2 }} length : {{ lenAlpha2 | length }}<br><br>{{ lenAlpha3 }} length : {{ lenAlpha3 | length }}<br><br>{{ lenAlphaDic }} length : {{ lenAlphaDic | length }}<br><br>
</p></body>
</html>

【代码分析】

分别通过过滤器length对一组变量(字符串类型、列表类型、元组类型和字典类型)进行过滤操作。

【访问验证】

变量(字符串类型、列表类型、元组类型和字典类型)经过length过滤器处理后,输出的长度均为5。
在这里插入图片描述


4.addslashes过滤器

该过滤器会在引号前面添加反斜杠字符(\),常用于字符转义。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['add_slashes'] = "This's a django app."template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了一个属性add_slashes,并赋值为一个字符串(包含有单引号)。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - addslashes:<br><br>{{ add_slashes }} addslashes {{ add_slashes | addslashes }}<br><br>
</p></body>
</html>

【代码分析】

通过过滤器addslashes对变量add_slashes进行过滤操作,在单引号前面插入反斜杠字符(\)。

【访问验证】
在这里插入图片描述


5.capfirst过滤器

该过滤器会将首字母大写。而如果第一个字符不是字母,则该过滤器将不会生效。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['cap_first'] = "django"context['cap_first_0'] = "0django"template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了第一个属性cap_first,并赋值为一个小写字符串(“django”)。

在变量context中添加了第二个属性cap_first_0,并赋值为一个字符串(“0django”),首字符为数字0。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - capfirst:<br><br>{{ cap_first }} cap_first {{ cap_first | capfirst }}<br><br>{{ cap_first_0 }} cap_first {{ cap_first_0 | capfirst }}<br><br>
</p></body>
</html>

【代码分析】

通过capfirst过滤器对变量cap_first进行过滤操作,将首字符的小写字母转换为大写字母。

通过capfirst过滤器对变量cap_first进行过滤操作,测试一下该过滤器对首字符为数字的字符串是否有效。

【访问验证】
在这里插入图片描述

6.cut过滤器

该过滤器会移除变量中所有的与给定参数相同的字符串。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['cut_space'] = "This is a cut filter."template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了一个属性cut_space,并赋值为一个带有空格的字符串。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - cut:<br><br>{{ cut_space }} cut {{ cut_space | cut:" " }}<br><br>
</p></body>
</html>

【代码分析】

通过cut过滤器对变量cut_space进行过滤操作,并定义过滤器参数为空格字符(“”)。

【访问验证】

变量在经过处理后,字符串中的空格被全部删除了。

在这里插入图片描述


7.date过滤器

该过滤器会根据给定格式对一个日期变量进行格式化操作。date过滤器定义了若干个格式化字符,下面介绍几个比较常见的格式化字符:

  • b:表示月份,小写字母形式(3个字母格式)。例如,jan、may、oct等。
  • c:表示ISO 8601时间格式。例如,2020-08-08T08:08:08.000888+08:00。
  • d:表示日期(带前导零的2位数字)。例如,01~31。
  • D:表示星期几。例如,Mon、Fri、Sun等。
  • f:表示时间。例如,9:30。
  • F:表示月份(文字形式)。例如,January。
  • h:表示12小时格式。例如,1~12。
  • H:表示24小时格式。例如,0~23。
  • i:表示分钟。例如,00~59。
  • j:表示没有前导零的日期。例如,1~31。
  • 1:表示星期几(完整英文名)。例如,Friday。
  • m:表示月份(带前导零的2位数字)。例如,01~12。
  • M:表示月份(3个字母的文字格式)。例如,Jan。
  • r:表示RFC5322格式化日期。例如,Thu,08 Dec 2020 08:08:08 +0200。
  • s:表示秒(带前导零的2位数字)。例如,00~59。
  • S:表示日期的英文序数后缀(两个字符)。例如,st、nd、rd、th。
  • U:表示自Unix Epoch(1970年1月1日00:00:00 UTC)以来的秒数。
  • y:表示年份(2位数字)。例如,99。
  • Y:表示年份(4位数字)。例如,1999

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader
from datetime import datetime, date# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['now'] = datetime.now()template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

通过import引入了datetime模块。

在变量context中添加了一个属性now,并通过datetime对象获取了当前时间。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - date:<br><br>{{ now | date }}<br><br>{{ now | date:"SHORT_DATE_FORMAT" }}<br><br>{{ now | date:"D d M Y" }}<br><br>{{ now | date:"D d M Y H:i" }}<br><br>{{ now | date:"c" }}<br><br>{{ now | date:"r" }}<br><br>
</p></body>
</html>

【代码分析】

使用了不带参数的date过滤器。

使用了带参数"SHORT_DATE_FORMAT"的date过滤器。

使用了带参数"D d M Y"的date过滤器。

使用了带参数"D d M Y H:i"的date过滤器。

使用了带参数"c"的date过滤器。

使用了带参数"r"的date过滤器。

【访问验证】

变量在经过处理后,在页面中显示了不同格式的日期和时间。
在这里插入图片描述


8.dictsort过滤器

该过滤器会接受一个包含字典元素的列表,并返回按参数中给出的键进行排序后的列表。

文件路径【TmplSite/gramapp/views.py】

from django.http import HttpResponse
from django.shortcuts import render
from django.template import loader
from datetime import datetime, date# Create your views here.def index(request):return HttpResponse("Hello, Django! You're at the gramapp index.")def filters(request):context = {}context['title'] = "Django Template Grammar"context['filters'] = "filters"context['dict_sort'] = [{'name': 'king', 'age': 39},{'name': 'tina', 'age': 25},{'name': 'cici', 'age': 12},]template = loader.get_template('gramapp/filters.html')return HttpResponse(template.render(context, request))

【代码分析】

在变量context中添加了一个属性dict_sort,并赋值为一个字典类型的对象。

文件路径【TmplSite/gramapp/templates/gramapp/filters.html】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><link rel="stylesheet" type="text/css" href="/static/css/mystyle.css"/><title>{{ title }}</title>
</head>
<body><p class="middle">Hello, this is a template tag <b>{{ filters }}</b> page!
</p>
<p class="middle">filters - dictsort:<br><br>original dict:<br>{{ dict_sort }}<br><br><br>dictsort by 'name':<br>{{ dict_sort | dictsort:"name" }}<br><br><br>dictsort by 'age':<br>{{ dict_sort | dictsort:"age" }}<br><br><br>
</p></body>
</html>

【代码分析】

输出了原始字典类型变量dict_sort的内容。

通过dict_sort过滤器(参数定义为“name”)对字典类型变量dict_sort进行了过滤操作,表示对变量dict_sort按照键(name)重新进行排序。

通过dict_sort过滤器(参数定义为“age”)对字典类型变量dict_sort进行了过滤操作,表示对变量dict_sort按照键(age)重新进行排序。

【访问验证】

在这里插入图片描述

相关文章:

模板引擎语法-过滤器

模板引擎语法-过滤器 文章目录 模板引擎语法-过滤器[toc]1.default过滤器2.default_if_none过滤器3.length过滤器4.addslashes过滤器5.capfirst过滤器6.cut过滤器7.date过滤器8.dictsort过滤器 1.default过滤器 default过滤器用于设置默认值。default过滤器对于变量的作用&…...

关于GoWeb(1)

Go Web &#xff08;1&#xff09; 一、网络通信与 Socket 编程 &#xff08;一&#xff09;Socket 编程基础 Socket 是网络通信的核心&#xff0c;它允许程序之间通过网络进行数据交换。在 Go 中&#xff0c;可以使用标准库 net 来实现 Socket 编程。 &#xff08;二&…...

实现从一个微信小程序跳转到另一个微信小程序

前言&#xff1a; 最近在公司完成了一个两个小程序之间进行跳转的需求,将跳转方式与携带参数的方式分享给伙伴们&#xff1a; 代码展示&#xff1a; wx.navigateToMiniProgram({// 另一个程序的appIdappId: "wxbbd...",//你希望跳转到另一个小程序的目标路径&#…...

【教程】Docker运行gitlab容器

Docker运行gitlab容器 前言1.拉取gitlab镜像2.创建挂载数据卷3.运行镜像4 登录Gitalb5 访问linux的gitlab地址&#xff0c;输入用户名与密码 前言 在linux系统中安装gitlab的教程 1.拉取gitlab镜像 不指定 默认拉取最新版镜像 docker pull gitlab/gitlab-ce 2.创建挂载数据…...

微信小程序鲜花销售系统设计与实现

概述 在鲜花电商行业快速发展的背景下&#xff0c;移动端销售平台成为花店拓展业务的重要渠道。幽络源平台今日分享一款功能完善的微信小程序鲜花销售系统&#xff0c;该系统实现了多角色管理、在线订购、会员服务等核心功能&#xff0c;为鲜花行业提供了完整的电商解决方案。…...

嵌入式C设计模式---策略模式

目录 1.策略设计模式动漫详解 2.LVGL策略模式实现详解与应用 3.嵌入式中策略模式应用的优缺点 4.大话设计模式C语言实现 1.策略设计模式动漫详解 2.LVGL策略模式实现详...

打开canoe--点击capl Brower弹出错误,capl打不开

打开canoe–点击capl Brower弹出下图错误&#xff0c;capl打不开&#xff0c;友友们遇到过吗&#xff1f;怎么破&#xff1f;...

ultralytics 目标检测 混淆矩阵 背景图像 没被记录

修改 utils/metrics.py ConfusionMatrix def process_batch(self, detections, gt_bboxes, gt_cls):"""Update confusion matrix for object detection task.Args:detections (Array[N, 6] | Array[N, 7]): Detected bounding boxes and their associated inf…...

C++之map

因为前些天做了一道题&#xff1a;PTA:查询首都或国名-CSDN博客 这道题我和朋友的实现方式不同&#xff0c;想要学习学习她的这种方式&#xff0c;于是乎有了这篇研究 map 的文章。 先学习一下 map 的基本定义吧&#xff1a; map 是标准模板库&#xff08;STL&#xff09;中…...

【每天一个知识点】点乘(Dot Product)

点乘&#xff08;Dot Product&#xff09;在很多机器学习和图神经网络&#xff08;GNN&#xff09;中都有广泛应用&#xff0c;尤其在图结构重构中&#xff0c;它通常用来衡量节点之间的相似性或者关联性。让我们逐步深入理解点乘&#xff0c;尤其是在图结构重构中的应用。 1.…...

2025上海车展| 和芯星通发布覆盖车载全场景的产品方案

2025上海车展充满科技范儿&#xff0c;更加聚焦用户价值与安全性。智能化、电动化进一步深入融合&#xff0c;呈现辅助驾驶成熟量产化、舱驾融合一体化、产业链创新本土化、跨界融合生态化的趋势。 与其他辅助驾驶系统传感器相比&#xff0c;GNSS卫星定位能够提供独立于外部地…...

【Linux网络】构建HTTP响应与请求处理系统 - HttpResponse从理解到实现

&#x1f4e2;博客主页&#xff1a;https://blog.csdn.net/2301_779549673 &#x1f4e2;博客仓库&#xff1a;https://gitee.com/JohnKingW/linux_test/tree/master/lesson &#x1f4e2;欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; 如有错误敬请指正&#xff01; &…...

识破养生假象,拥抱科学健康

在这个全民热衷养生的时代&#xff0c;各种养生理念与方法如潮水般涌来。但其中不少是迷惑大众的 “烟雾弹”&#xff0c;只有识破这些养生假象&#xff0c;我们才能踏上真正的健康之路。​ 不少人觉得&#xff0c;养生就得靠保健品 “撑腰”。市面上&#xff0c;各类宣称具有…...

设计一个关键字统计程序:利用HashMap存储关键字统计信息,对用户输入的关键字进行个数统计。

思路分析 首先&#xff0c;在KeywordCounter类中&#xff0c;定义了一个包含所有Java关键字的字符串数组KEYWORDS&#xff0c;用于存储所有关键字。然后创建了一个Scanner对象input&#xff0c;用于从标准输入读取用户的输入。接下来创建了一个StringBuilder对象sb&#xff0c;…...

Python文件操作及数据库交互(Python File Manipulation and Database Interaction)

Python文件操作及数据库的交互 在实际开发中&#xff0c;文件操作与数据库交互是非常常见的任务。Python作为一种高效且灵活的编程语言&#xff0c;不仅提供了丰富的文件操作功能&#xff0c;还通过多种库与数据库进行高效交互。本文将详细介绍如何使用Python进行文件操作&…...

Eigen稀疏矩阵类 (SparseMatrix)

1. SparseMatrix 核心属性与初始化 模板参数 cpp SparseMatrix<Scalar, Options, StorageIndex> Scalar&#xff1a;数据类型&#xff08;如 double, float&#xff09;。 Options&#xff1a;存储格式&#xff08;默认 ColMajor&#xff0c;可选 RowMajor&#xff0…...

【运维】Windows 与 Linux 中实时查看日志的命令对比详解(tail -f)

&#x1f50d; Windows 与 Linux 中实时查看日志的命令对比详解&#xff08;tail -f&#xff09; 在日常开发、调试、部署过程中&#xff0c;实时查看日志文件的更新内容是非常常见的需求。尤其是在排查后端服务问题、守护进程行为、系统异常等场景下&#xff0c;查看实时日志…...

巧用 Element - UI 实现图片上传按钮的智能隐藏

引言 在前端开发中&#xff0c;使用 Element - UI 组件库来构建用户界面是非常常见的操作。其中图片上传功能更是在许多项目中频繁出现&#xff0c;比如用户头像上传、商品图片上传等场景。有时候&#xff0c;我们会有这样的需求&#xff1a;当上传图片达到一定数量后&#xf…...

高级 SQL 技巧:提升数据处理能力的实用方法

在数据驱动的时代,SQL 作为操作和管理关系型数据库的标准语言,其重要性不言而喻。基础的 SQL 语句能满足日常的数据查询需求,但在处理复杂业务逻辑、进行数据分析和优化数据库性能时,就需要掌握一些高级 SQL 技巧。这些技巧不仅能提高查询效率,还能实现复杂的数据处理任务…...

2.4.5goweb项目上传到csdn的git仓库

在开始使用 Git 之前&#xff0c;你需要先安装它。不同操作系统的安装方法不同&#xff1a; (git先实战&#xff0c;能从仓库上传&#xff0c;下载之后&#xff0c;在听课程&#xff0c;记住大致流程。以后使用就知道往哪里查了) Windows&#xff1a;可以从Git 官方网站下载安…...

Eclipse 插件开发 3 菜单栏

Eclipse 插件开发 3 菜单栏 1 增加菜单2 指定位置3 点击事件4 二级菜单 (静态)5 二级菜单 (动态) 位置locationURI备注菜单栏menu:org.eclipse.ui.main.menu添加到传统菜单工具栏toolbar:org.eclipse.ui.main.toolbar添加到工具栏 1 增加菜单 <?xml version"1.0&quo…...

win11右键菜单改回win10模式

win11右键菜单非常不好用&#xff0c;经常需要点击最下方的“显示更多选项”&#xff0c;下面是win11右键菜单改回win10模式的方法。 按下 Win R 组合键&#xff0c;打开“运行”窗口&#xff0c;输入 cmd&#xff0c;此时不要急着按Enter&#xff0c;按 Ctrl Shift Enter …...

SpringBoot 常用注解通俗解释

SpringBoot 常用注解通俗解释 一、启动类相关 1. SpringBootApplication • 作用&#xff1a;这是SpringBoot项目的"总开关"&#xff0c;放在主类上 • 通俗理解&#xff1a;相当于对电脑说&#xff1a;"开机&#xff01;我要用SpringBoot了&#xff01;…...

26 Arcgis软件常用工具有哪些

一、画图改图工具&#xff08;矢量编辑&#xff09;‌ ‌挪位置工具&#xff08;移动工具&#xff09;‌ 干哈的&#xff1f;‌选中要素‌&#xff08;比如地块、道路&#xff09;直接拖到新位置&#xff0c;或者用坐标‌X/Y偏移‌批量移动&#xff0c;适合“整体搬家”。 ‌磁…...

OpenCV --- 图像预处理(七)

OpenCV — 图像预处理&#xff08;七&#xff09; 文章目录 OpenCV --- 图像预处理&#xff08;七&#xff09;十七&#xff0c;图像轮廓特征查找17.1 外接矩形17.2 最小外接矩形17.3 最小外接圆 十七&#xff0c;图像轮廓特征查找 图像轮廓特征查找其实就是他的外接轮廓。应用…...

【计算机网络】信息时代的数字神经系统

目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现案例1&#xff1a;Python TCP服务器案例2&#xff1a;网络带宽测试 运行结果验证 三、性能对比测试…...

Adriuno:编程语言基础

Adriuno主要的编程语言是C语言&#xff0c;使得使用者不需要掌握特殊的编程语言&#xff0c;变得更加容易上手。 一、函数 Arduino提供了许多函数&#xff0c;其功能是控制 Arduino开发板&#xff0c;进行数值计算等&#xff0c;包括数字I/O函数、模拟I/O函数、高级I/O函数、时…...

二叉搜索树的实现与应用场景

本章目标 1.二叉搜索树的概念 2.二叉搜索树的性能分析 3.二叉搜索树的实现 4.二叉搜索树的key/key-value的实现场景 1.二叉搜索树的概念 二叉搜索树又叫二叉排序树,它是具有以下性质的树 1.它的左子树不为空,并且左子树上的值都小于根节点 2.它的右子树不为空,并且右子树上的…...

单例模式介绍

单例模式大家都很清楚&#xff0c;最常见的是饿汉式与懒汉式。也有不常见的静态内部类式与枚举式以及&#xff0c;懒汉式的线程安全版本。 单例模式常被用于全局式的配置管理&#xff08;数据库连接池&#xff0c;日志管理器&#xff09;&#xff0c;资源共享&#xff08;线程池…...

Pycharm 代理配置

Pycharm 代理配置 文章目录 Pycharm 代理配置1. 设置系统代理1.1 作用范围1.2 使用场景1.3 设置步骤 2. 设置 python 运行/调试代理2.1 作用范围2.2 使用场景2.3 设置步骤 Pycharm 工具作为一款强大的 IDE&#xff0c;其代理配置在实际开发中也是必不可少的&#xff0c;下面介绍…...

springboot入门-repository数据访问层JPA和mybatis

在 Spring Boot 中&#xff0c;Repository 接口是数据访问层&#xff08;DAO&#xff09;的核心抽象&#xff0c;而 JpaRepository 和 MyBatis 的实现方式有显著不同。以下是详细解释&#xff1a; 1. JPA 的 Repository 接口为什么使用 interface&#xff1f; (1) 基于接口的动…...

代码随想录算法训练营Day31 | 56. 合并区间 738.单调递增的数字

56. 合并区间 问题描述&#xff1a; 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 解决方式&#xf…...

【教学类-102-19】蝴蝶三色图作品1——卡纸蝴蝶(滴颜料按压对称花纹)A4横版最大号22.85CM

背景需求: 前期做了18次实验,基本实现了三色图三线的各种变化效果和16种图纸大小的批量导入 今天开始制作具体可用的学具——黑卡纸蝴蝶(滴颜料按压对撑颜色) 【教学类-102-11】蝴蝶外轮廓01——Python对黑白图片进行PS填充三种颜色+图案描边+图案填充白色+制作1图2图6图…...

Claude系列模型-20250426

文章目录 Claude 3.7 Sonnet - "Our most intelligent model yet"Claude 3.5 Haiku - "Fastest model for daily tasks"Claude 3.5 Sonnet (Oct 2024)Claude 3 Opus总结Claude 3.7 Sonnet - “Our most intelligent model yet” 特点: 这是目前Claude系列…...

ADC单通道采集实验

设置的步骤如下; #include "adc.h"ADC_HandleTypeDef adc_handle {0}; void adc_init(void) {adc_handle.Instance ADC1; //ADC的基地址adc_handle.Init.DataAlign ADC_DATAALIGN_RIGHT; //…...

启动你的RocketMQ之旅(五)-Broker详细——消息传输

前言&#xff1a; &#x1f44f;作者简介&#xff1a;我是笑霸final。 &#x1f4dd;个人主页&#xff1a; 笑霸final的主页2 &#x1f4d5;系列专栏&#xff1a;java专栏 &#x1f4e7;如果文章知识点有错误的地方&#xff0c;请指正&#xff01;和大家一起学习&#xff0c;一…...

100个节点的部署,整合Docker、Kubernetes和Jenkins的详细设计

一、架构设计概览 组件角色: Docker:应用容器化封装,确保环境一致性。Kubernetes(K8s):自动化容器编排,管理多节点集群的调度、扩缩容和自愈。Jenkins:CI/CD流水线驱动,实现代码到生产的自动化流程。集群规模: Master节点:3个(高可用,避免单点故障)。Worker节点:…...

神经网络与计算机视觉

2016 年,随着 AlphaGo 在围棋比赛中击败李世石,“人工智能”、“神经网络”、“深度 学习”等字眼便越来越多的出现在大众眼前,智能化好像成为一种不可逆转的趋势,带给大家新奇感的同时也带来了一丝忧惧:在不远的未来,机器是否真的拥有思维和情感?《终结者》中天网大战人…...

openEuler对比CentOS的核心优势分析

openEuler对比CentOS的核心优势分析 在开源操作系统领域&#xff0c;openEuler与CentOS均占据重要地位&#xff0c;但随着CentOS维护策略的调整&#xff08;如CentOS 8停止维护&#xff0c;转向CentOS Stream&#xff09;&#xff0c;越来越多的用户开始关注国产化替代方案。o…...

高性能电脑系统优化工具Advanced SystemCare PRO v18.3.0.240 解锁永久专业版

软件介绍 IObit Advanced SystemCare&#xff0c;系统清理维护与安全防护软件&#xff0c;大幅提升整体系统性能和安全&#xff01;一键AI智能模式&#xff0c;全面扫描优化修复系统&#xff0c;拥有性能加速模式、系统优化、网络加速、启动项优化、软件更新、实时监视清理、隐…...

【C语言练习】005. 编写表达式并确定其值

【C语言练习】005. 编写表达式并确定其值 005. 编写表达式并确定其值示例 1:算术表达式计算过程:最终结果:示例 2:关系和逻辑表达式计算过程:最终结果:示例 3:复合赋值和算术表达式计算过程:最终结果:示例 4:位运算表达式计算过程:最终结果:示例 5:综合表达式计算…...

力扣面试150题--合并两个有序链表和随机链表的复制

Day 33 题目描述 思路 常规题目&#xff0c;比较list1和list2节点的值&#xff0c;取出较小值扩展链表&#xff0c;最后其中一个遍历完直接拼接另外一个即可&#xff08;归并排序&#xff09; /*** Definition for singly-linked list.* public class ListNode {* int v…...

测试用例的设计

组合原则:多个选项有效数据建议组合使用(正向功能)、单个选项无效数据组合其他选项有效数据使用(逆向功能) 一、针对登录模块设计测试用例: 1.账号:已注册手机号、已注册邮箱、为空、未注册手机号、未注册邮箱 2.密码:注册密码、为空、错误密码 3.验证码:正确、过期、错误 …...

关于TCP三次握手和四次挥手的疑点

参考文章&#xff1a;浅谈TCP三次握手和四次挥手 1、三次握手的作用 &#xff08;1&#xff09;确保双方收到对方的初始序列号&#xff1a;客户端发送SYN包&#xff0c;服务器回复SYN-ACK包&#xff0c;客户端再回复ACK包&#xff0c;确保双方都接收到对方的序列号。 &#xf…...

逆向|dy|a_bogus|1.0.1.19-fix.01

2025-04-26 请求地址:aHR0cHM6Ly93d3cuZG91eWluLmNvbS91c2VyL01TNHdMakFCQUFBQV96azV6NkoyMG1YeGt0eHBnNkkzRVRKejlyMEs3d2Y2dU9EWlhvd2ttblZWRnB0dlBPMmMwN2J0WFotcVU4V3M 个人主页的视频数据 我们需要逆向这个接口,所以现在需要分析这个请求, 分析这几个数据包可以发现: 只有…...

【软考-架构】13.5、中间件

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 中间件技术典型应用架构 中间件技术 在分布式系统环境中&#xff0c;出于操作系统和应用程序之间的软件。 主要的中间件有五类&#xff1a; 数据库访问中间件&#xff1…...

【Redis】基础2:作为缓存

文章目录 1. 一些概念2. 主动更新策略/缓存设计模式2.1 cache-aside pattern&#xff08;lazy loading&#xff09;2.2 read-through pattern&#xff08;针对读操作&#xff09;2.3 write-through pattern2.4 write behind pattern&#xff08;write back pattern&#xff09;…...

豆包,Kim,deepseek对比

以下是豆包、Kimi、DeepSeek的对比与应用&#xff1a; 对比 - 核心技术&#xff1a;DeepSeek-R1完全依赖强化学习驱动&#xff0c;跳过监督微调阶段。Kimi k1.5采用“轻量级SFT预热RL优化”的混合策略。 - 多模态支持&#xff1a;Kimi k1.5支持文本与图像的多模态联合推理。De…...

L2-005 集合相似度

L2-005 集合相似度 - 团体程序设计天梯赛-练习集 给定两个整数集合&#xff0c;它们的相似度定义为&#xff1a;Nc​/Nt​100%。其中Nc​是两个集合都有的不相等整数的个数&#xff0c;Nt​是两个集合一共有的不相等整数的个数。你的任务就是计算任意一对给定集合的相似度。 …...

33.状态压缩动态规划

一、算法内容 1.简介 若元素数量比较小&#xff08;不超过 20 20 20&#xff09;时&#xff0c;想要存储每个元素取或不取的状态时&#xff0c; 可以借助位运算将状态压缩。 需要借助状态压缩过程的动态规划就是状态压缩 DP&#xff08;很多地方会简称为状压 DP&#xff09;…...