模板引擎语法-标签
模板引擎语法-标签
文章目录
- 模板引擎语法-标签
- @[toc]
- 一、用于进行判断的{% if-elif-else-endif %}标签
- 二、关于循环对象的{% for-endfor %}标签
- 三、关于自动转义的{% autoescape-endautoescape %}标签
- 四、关于循环对象的{% cycle %}标签
- 五、关于检查值是否变化的{% ifchange %}标签
- 六、关于重组对象的{% regroup %}标签
- 七、关于重置循环对象的{% resetcycle %}标签
- 八、{% url %}链接标签
- 九、输出模板标签字符的{% templatetag %}标签
- 十、关于计算比率的{% widthratio %}标签
- 十一、关于显示当前日期或时间的{% now %}标签
文章目录
- 模板引擎语法-标签
- @[toc]
- 一、用于进行判断的{% if-elif-else-endif %}标签
- 二、关于循环对象的{% for-endfor %}标签
- 三、关于自动转义的{% autoescape-endautoescape %}标签
- 四、关于循环对象的{% cycle %}标签
- 五、关于检查值是否变化的{% ifchange %}标签
- 六、关于重组对象的{% regroup %}标签
- 七、关于重置循环对象的{% resetcycle %}标签
- 八、{% url %}链接标签
- 九、输出模板标签字符的{% templatetag %}标签
- 十、关于计算比率的{% widthratio %}标签
- 十一、关于显示当前日期或时间的{% now %}标签
一、用于进行判断的{% if-elif-else-endif %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['t'] = "true"context['f'] = "false"template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
代码 | 分析 |
---|---|
context[‘t’] = “true” | 在变量context中定义了第一个属性t,并赋值为字符串“true” |
context[‘f’] = “false” | 在变量context中定义了第一个属性f,并赋值为字符串“false” |
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p><b>if-elif-else-endif</b><br><br>True:{% if t == 'true' %}This is a true condition.{% elif t == 'false' %}This is a false condition.{% else %}No condition.{% endif %}<br><br>False:{% if f == 'true' %}This is a true condition.{% elif f == 'false' %}This is a false condition.{% else %}No condition.{% endif %}<br><br>No Else:{% if f == 'true' %}This is a true condition.{% elif t == 'false' %}This is a false condition.{% else %}No condition.{% endif %}<br><br>
</p></body>
</html>
【代码分析】
修改的内容,分别通过标签进行选择判断,根据判断结果选择输出不同的文本信息。
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
二、关于循环对象的{% for-endfor %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['flag'] = "odd" # "even" or "odd"context['even'] = [0, 2, 4, 6, 8]context['odd'] = [1, 3, 5, 7, 9]template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在修改的内容中,在变量context中添加了第一个属性flag,并赋值为“even”;
在变量context中添加了第二个属性even,并赋值为也给偶数列表(数字10以内);
在变量context中添加了第三个属性odd,并赋值为一个奇数列表(数字10以内);
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>Numbers:<ul>{% if flag == 'even' %}{% for num in even %}<li>{{ num }}</li>{% endfor %}{% elif flag == 'odd' %}{% for num in odd %}<li>{{ num }}</li>{% endfor %}{% else %}No print.{% endif %}</ul>
</p></body>
</html>
【代码分析】
通过标签进行选择判断,根据判断结果选择输出奇数数列或偶数数列。
分别通过标签循环对象even和odd,输出奇数数列和偶数数列。
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
三、关于自动转义的{% autoescape-endautoescape %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['site'] = "<a href='https://www.djangoproject.com/'>Django Home Page</a>"template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性site,并赋值为一个超链接标签"Django Home Page"
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>Escape Site:<br><br>output site:<br>{{ site }}<br><br>autoescape on :<br>{% autoescape on %}{{ site }}{% endautoescape %}<br><br>autoescape off :<br>{% autoescape off %}{{ site }}{% endautoescape %}
</p></body>
</html>
【代码分析】
通过双大括号引用了视图定义的属性,直接在页面中进行输出;
分别通过【{% autoescape on %}】【{% endautoescape %}】自动转义标签对属性site进行打开转义操作,并在页面中进行输出;
分别通过【{% autoescape on %}】【{% endautoescape %}】自动转义标签对属性site进行关闭转义操作,并在页面中进行输出;
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
四、关于循环对象的{% cycle %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['num'] = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性num,并赋值为一个元组类型的数组(用于计数);
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p class="middle">Cycle Obj:<br>{% for i in num %}{% cycle 'even' 'odd' %}{% endfor %}
</p></body>
</html>
【代码分析】
通过【{% cycle %}】循环对象标签对一组字符串进行循环遍历操作,并在页面中直接输出
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
4.继续编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['len'] = (0, 1, 2)template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性len,并赋值为一个元组类型的数组(用于计数);
5.继续编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>Cycle Paragraphs:<br>{% for j in len %}<p class="{% cycle 'p-small' 'p-middle' 'p-large' %}">This is a cycle class test.</p>{% endfor %}
</p></body>
</html>
【代码分析】
通过【{% cycle %}】循环对象标签对一组CSS样式表进行循环遍历操作,这组不同的样式均内置于同一个段落标签;
6.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
五、关于检查值是否变化的{% ifchange %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['num'] = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)context['changed'] = 'watchchange'template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性changed,并赋值为一个字符串,用于判断内容是否改变;
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p class="middle">ifchanged:<br>{% for n in num %}{% ifchanged changed %}{{ n }}{% endifchanged %}{% endfor %}
</p></body>
</html>
【代码分析】
通过【{% ifchanged-endifchanged %}】标签判断属性changed的内容是否改变;
并根据上面判断的结果来输出变量n的值;
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
4.继续编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p class="middle">ifchanged:<br>{% for n in num %}{% ifchanged changed %}{{ n }}{% else %}{{ n }}{% endifchanged %}{% endfor %}
</p></body>
</html>
【代码分析】
在【{% ifchanged-endifchanged %}】标签中增加了{% else %}标签。
同样在输出变量n的值;
5.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
六、关于重组对象的{% regroup %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['languages'] = [{'name': 'Python', 'rated': '99%', 'content': 'Prog'},{'name': 'Java', 'rated': '90%', 'content': 'Prog'},{'name': 'JavaScript', 'rated': '98%', 'content': 'Web'},{'name': 'PHP', 'rated': '95%', 'content': 'Web'},{'name': 'Django', 'rated': '96', 'content': 'Web'},]template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性languges,并赋值为一个字典类型的数组(关于几组编程语言的内容);
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
{% regroup languages by content as content_list %}
<p>regroup tag:<br><ul>{% for content in content_list %}<li>{{ content.grouper }}<ul>{% for lang in content.list %}<li>{{ lang.name }}: {{ lang.rated }}</li>{% endfor %}</ul></li>{% endfor %}</ul>
</p></body>
</html>
【代码分析】
通过grouper字段来依据content属性对languages对象列表进行分组;
通过list字段来获取每一项的列表,该列表包括了languages对象中每一项的具体内容;
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
七、关于重置循环对象的{% resetcycle %}标签
1.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['len'] = (0, 1, 2)context['len2'] = (0, 1, 2, 3)template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))
【代码分析】
在变量context中添加了一个属性len,并赋值为一个元组类型的变量(用于第一层循环计数);
在变量context中添加了一个属性len2,并赋值为另一个元组类型的变量(用于第二层循环计数);
2.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>Cycle Numbers:<br>{% for i in len %}{% for j in len2 %}{% cycle '1' '2' '3' %}{% endfor %}{% endfor %}
</p>
<p>Resetcycle Numbers:<br>{% for i in len %}{% for j in len2 %}{% cycle '1' '2' '3' %}{% endfor %}{% resetcycle %}{% endfor %}
</p></body>
</html>
【代码分析】
通过{% cycle %}标签尝试在页面输出一个数字序列;
同样通过{% cycle %}标签尝试在页面输出一个数字序列;
不同之处是在27行中,通过{% resetcycle %}标签重置了第25行代码中的{% cycle %}标签。
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
八、{% url %}链接标签
1.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>url tag:<br><br><a href={% url 'index' %}>index</a><br><br><a href={% url 'grammar' %}>grammar</a><br><br>
</p></body>
</html>
【代码分析】
通过{% url %}链接标签定义了视图index的超链接地址;
同样通过{% url %}链接标签定义了视图grammar的超链接地址;
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
4.编辑路由文件
文件路径【TmplSite/gramapp/urls.py】
from django.urls import path
from . import viewsurlpatterns = [path('', views.index, name='index'),path('gram/', views.grammar, name='grammar'),path('gram/<gram_id>/', views.grammar_id, name='grammar_id'),
]
【代码分析】
表示路径gram_id对应视图函数grammar_id,其中gram_id表示路径参数;
5.编辑视图文件
文件路径【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 grammar(request):context = {}context['title'] = "Django Template Grammar"context['gram'] = "grammar"context['id'] = '123'template = loader.get_template('gramapp/grammar.html')return HttpResponse(template.render(context, request))def grammar_id(request, gram_id):return HttpResponse("Hello, you're at the grammar %s index." % (gram_id))
【代码分析】
定义了一个视图函数grammar_id,并包括一个参数gram_id;
在变量context中添加了一个属性id,并赋值为一个字符串“123”;
6.继续编辑模板文件
<!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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>url tag:<br><br><a href={% url 'grammar_id' id %}>grammar_id</a><br><br><a href={% url 'grammar_id' gram_id=id %}>grammar_id(by arg1)</a><br><br>
</p></body>
</html>
【代码分析】
通过{% url %}链接标签定义了视图grammar_id的超链接地址,并使用了id参数;
同样通过{% url %}链接标签定义了视图grammar_id的超链接地址,在使用id参数的方式上借助了关键字参数gram_id
7.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
九、输出模板标签字符的{% templatetag %}标签
1.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>templatetag openblock:<br>{% templatetag openblock %} {% url 'grammar' %} {% templatetag closeblock %}<br><br>templatetag openvariable:<br>{% templatetag openvariable %} {{ num }} {% templatetag closevariable %}<br><br>templatetag openbrace:<br>{% templatetag openbrace %} {{ len }} {% templatetag closebrace %}<br><br>
</p>
</body>
</html>
【代码分析】
通过{% templatetag openblock %}标签和{% templatetag closeblock %}标签在页面中输出了语法字符“{% %}”;
通过{% templatetag openvariable %}标签和{% templatetag closevariable %}标签在页面中输出了语法字符“{{ }}”;
通过{% templatetag openbrace %}标签和{% templatetag closebrace %}标签在页面中输出了语法字符“{ }”;
2.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
十、关于计算比率的{% widthratio %}标签
1.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>image original:<br><br><img src="/static/images/django-small.png" alt="Django">
</p>
<p>image widthradio:<br><br><img src="/static/images/django-small.png" alt="Django" height="{% widthratio 100 50 100 %}" width="{% widthratio 180 200 100 %}">
</p>
</body>
</html>
【代码分析】
在HTML模板中显示了一幅原始图片(图片路径:“/static/images/django-small.png”);
在HTML模板页面中通过{% widthratio %}标签将该原始图片(图片路径:“/static/images/django-samll.png”)转换为柱状图进行显示;
在图片的height属性中通过{% widthratio %}标签对图片高度尺寸进行了比率换算(100÷50×100=200);
在图片的width属性中通过{% widthratio %}标签对图片宽度尺寸进行了比率换算(180÷200×100=90);
2.定义根目录settings.py文件
STATIC_URL = 'static/'STATICFILES_DIRS = [BASE_DIR / "static",
]
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
十一、关于显示当前日期或时间的{% now %}标签
1.编辑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>Hello, this is a <b>{{ gram }}</b> page!
</p>
<p>now tag:<br><br>It is {% now "jS F Y H:i" %}<br><br>It is the {% now "jS \o\f F Y" %}<br><br>It is {% now "H:i:s D Y/M/d" %}<br><br>
</p>
</body>
</html>
【代码分析】
在HTML模板中使用{% now %}标签显示了一组时间格式;
3.打开FireFox浏览器访问
【http://localhost:8000/gramapp/gram/】
相关文章:
模板引擎语法-标签
模板引擎语法-标签 文章目录 模板引擎语法-标签[toc]一、用于进行判断的{% if-elif-else-endif %}标签二、关于循环对象的{% for-endfor %}标签三、关于自动转义的{% autoescape-endautoescape %}标签四、关于循环对象的{% cycle %}标签五、关于检查值是否变化的{% ifchange %}…...
刘火良FreeRTOS内核实现与应用学习之7——任务延时列表
在《刘火良FreeRTOS内核实现与应用学习之6——多优先级》的基础上:关键是添加了全局变量:xNextTaskUnblockTime ,与延时列表(xDelayedTaskList1、xDelayedTaskList2)来高效率的实现延时。 以前需要在扫描就绪列表中所…...
基于红外的语音传输及通信系统设计
标题:基于红外的语音传输及通信系统设计 内容:1.摘要 本设计聚焦于基于红外的语音传输及通信系统,以解决传统通信方式在特定场景下的局限性为背景,旨在开发一种高效、稳定且具有一定抗干扰能力的语音传输系统。方法上,采用红外技术作为语音信…...
解锁AI未来,开启创新之旅——《GPTs开发详解》与《ChatGPT 4应用详解》两本书的深度解析
前言 在这个数字化时代,AI技术正在以前所未有的速度改变我们的生活和工作方式。作为一名AI爱好者和从业者,我深知了解并掌握先进技术的重要性。今天,我想向大家推荐两本极具价值的书籍:《GPTs开发详解》和《ChatGPT 4应用详解》。…...
Linux进程通信入门:匿名管道的原理、实现与应用场景
Linux系列 文章目录 Linux系列前言一、进程通信的目的二、进程通信的原理2.1 进程通信是什么2.2 匿名管道通讯的原理 三、进程通讯的使用总结 前言 Linux进程间同通讯(IPC)是多个进程之间交换数据和协调行为的重要机制,是我们学习Linux操作系…...
[SpringMVC]上手案例
创建工程 新建项目,选择maven工程,原型(Archetype)选择maven的webapp,注意名称头尾。会使用到tomcat(因为是javaWeb)。 新建的项目结构目录如下,如果没有java目录,需要自…...
kubernetes 入门篇之架构介绍
经过前段时间的学习和实践,对k8s的架构有了一个大致的理解。 1. k8s 分层架构 架构层级核心组件控制平面层etcd、API Server、Scheduler、Controller Manager工作节点层Kubelet、Kube-proxy、CRI(容器运行时接口)、CNI(网络插件&…...
说一说 Spring 中的事务
什么是事务? 事务就是用户定义的一系列执行SQL语句的操作, 这些操作要么完全地执行,要么完全地都不执行, 它是一个不可分割的工作执行单元。 Spring 中的事务是怎么实现的? Spring事务底层是基于数据库事务和AOP机制的首先对于…...
docker容器安装的可道云挂接宿主机的硬盘目录:解决群晖 威联通 飞牛云等nas的硬盘挂接问题
基于Docker部署可道云(KodCloud)时,通过挂载宿主机其他磁盘目录可实现高效、安全的数据管理。具体而言,使用绑定挂载(Bind Mounts)将宿主机目录(如/data/disk2)映射到容器内的可道云…...
Oracle 23ai Vector Search 系列之5 向量索引(Vector Indexes)
文章目录 Oracle 23ai Vector Search 系列之5 向量索引Oracle 23ai支持的向量索引类型内存中的邻居图向量索引 (In-Memory Neighbor Graph Vector Index)磁盘上的邻居分区矢量索引 (Neighbor Partition Vector Index) 创建向量索引HNSW索引IVF索引 向量索引示例参考 Windows 环…...
GPT模型架构与文本生成技术深度解析
核心发现概述 本文通过系统分析OpenAI的GPT系列模型架构,揭示其基于Transformer解码器的核心设计原理与文本生成机制。研究显示,GPT模型通过自回归机制实现上下文感知的序列生成,其堆叠式解码器结构配合创新的位置编码方案,可有效…...
【读者求助】如何跨行业进入招聘岗位?
文章目录 读者留言回信岗位细分1. 中介公司的招聘岗位2. 猎头专员3. 公司的招聘专员选择建议 面试建议1. 请简单介绍你过去 3 年的招聘工作经历,重点说下你负责的岗位类型和规模2. 你在招聘流程中最常用的渠道有哪些?如何评估渠道效果?3. 当你…...
2025蓝桥杯省赛C++B组解题思路
由于题面还没出来,现在先口胡一下思路 填空题直接打表找规律或者乱搞一下就能出,从大题开始说。 1,题意: 给你一个数组,这个数组里有几个数可以被一个连续递增的数字区间求和得出 思路:诈骗题,显…...
springcloud整理
问题1.服务拆分后如何进行服务之间的调用 我们该如何跨服务调用,准确的说,如何在cart-service中获取item-service服务中的提供的商品数据呢? 解决办法:Spring给我们提供了一个RestTemplate的API,可以方便的实现Http请…...
游戏引擎学习第220天
介绍 今天的工作主要是进行一些代码整理和清理,目的是将我们之前写过的代码重新整合在一起,使它们能够更好地协同工作。现在的阶段,我们的任务并不是进行大规模的功能开发,而是集中精力对现有的代码进行整合和思考,确…...
OceanBase企业版单机部署:obd命令行方式
OceanBase企业版单机部署:obd命令行方式 安装包准备服务器准备最低资源配置是否部署ODP组件?仲裁服务器 服务器配置操作系统内核参数BIOS设置磁盘挂载网卡设置 obd部署前配置obd部署单机版安装obd配置obd部署OB集群部署后检查 环境清理与集群销毁 本文介…...
KWDB创作者计划—KWDB认知引擎:数据流动架构与时空感知计算的范式突破
引言:数据智能的第三范式 在数字化转型进入深水区的2025年,企业数据系统正面临三重悖论:数据规模指数级增长与实时决策需求之间的矛盾、多模态数据孤岛与业务连续性要求之间的冲突、静态存储范式与动态场景适配之间的鸿沟。KWDB(K…...
车载通信系统中基于ISO26262的功能安全与抗辐照协同设计研究
摘要:随着智能网联汽车的快速发展,车载通信系统正面临着功能安全与抗辐照设计的双重挑战。在高可靠性要求的车载应用场景下,如何实现功能安全标准与抗辐照技术的协同优化,构建满足ISO26262安全完整性等级要求的可靠通信架构&#…...
Oracle OCP认证考试考点详解083系列03
题记: 本系列主要讲解Oracle OCP认证考试考点(题目),适用于19C/21C,跟着学OCP考试必过。 11. 第11题: 题目 解析及答案: 关于 RMAN(恢复管理器)多路复用备份集,以下哪…...
Spring
一.Ioc&DI 1.类的五种控制反转注解 这五个注解作用都一样,只是意义不一样,用来提高代码的可读性。 Controller:控制层,接收请求,对请求进⾏处理,并进⾏响应。 Servie:业务逻辑层࿰…...
基于开源链动2+1模式、AI智能名片与S2B2C商城小程序源码的体验式关系深化与商业转化研究
摘要:本文探讨了通过体验过程中的共同经历强化关系,促使KOC(关键意见消费者)为品牌背书的机制,并深入分析了开源链动21模式、AI智能名片以及S2B2C商城小程序源码在其中的创新应用。研究发现,这些新模式和技…...
【区块链安全 | 第三十九篇】合约审计之delegatecall(一)
文章目录 外部调用函数calldelegatecall call 与 delegatecall 的区别示例部署后初始状态调用B.testCall()函数调用B.testDelegatecall()函数区别总结 漏洞代码代码审计攻击代码攻击原理解析攻击流程修复建议审计思路 外部调用函数 在 Solidity 中,常见的两种底层外…...
Kingbase 常用运维命令总结
一、数据库连接与基础操作 连接指定服务器数据库 ksql -h 主机IP -p 端口号 -U 用户名 -d 数据库名 -W # 示例:连接 IP 为 192.168.1.100 的数据库 ksql -h 192.168.1.100 -p 54321 -U system -d test -W 断开数据库连接 \q 或 exit 查看数据库列表及详细信息…...
从零开始的C++编程 2(类和对象下)
目录 1.构造函数初始化列表 2.类型转换 3.static成员 4.友元 5.内部类 6.匿名对象 1.构造函数初始化列表 ①之前我们实现构造函数时,初始化成员变量主要使⽤函数体内赋值,构造函数初始化还有⼀种⽅式,就是初始化列表,初始化…...
Java---抽象类与接口
抽象类与接口 前言一、抽象类1.抽象类的概念2.抽象类的语法3.抽象类的特点4.抽象类的操作5.抽象类的作用 二、接口1.接口的概念2.接口语法3.接口的使用与特性4.实现多个接口5.接口之间的继承6.接口的实例(1).对象大小的比较(1).Comparable接口(2).Comparator接口 (2).实现类的克…...
玩转Docker | 使用Docker部署linkding书签管理工具
玩转Docker | 使用Docker部署linkding书签管理工具 前言一、linkding介绍简介主要特点二、系统要求环境要求环境检查Docker版本检查检查操作系统版本三、部署linkding服务下载镜像创建容器检查容器状态检查服务端口设置登录账号与密码安全设置四、访问linkding服务访问linkding…...
K8s 集群网络疑难杂症:解决 CNI 网络接口宕机告警的完整指南
引言 在 Kubernetes 集群运维过程中,网络问题往往是最棘手的故障之一。当你收到一条 [CRITICAL] 网络接口宕机 (172.18.109.55:9100) 的告警,并且告警内容显示 172.18.109.55:9100 的网络接口 cni0 已宕机5分钟 时,这通常意味着你的 Kubernetes 集群中有一个节点的容器网络…...
程序员/运维绘图工具---Mermaid
效果 介绍 Mermaid 是一种基于文本的图表生成工具,通过类似 Markdown 的简洁语法快速创建流程图、甘特图、类图等各类专业图表 应用场景 程序员绘图 系统架构图&代码逻辑可视化 项目管理图 数据可视化 AI辅助生成:LLM生成mermaid代码然后去渲染成…...
《MATLAB实战训练营:从入门到工业级应用》趣味入门篇-用MATLAB画一朵会动的3D玫瑰:从零开始的浪漫编程之旅
《MATLAB实战训练营:从入门到工业级应用》趣味入门篇-🌹用MATLAB画一朵会动的3D玫瑰:从零开始的浪漫编程之旅 你是否想过用代码创造一朵永不凋谢的玫瑰?今天,我将带你走进MATLAB的奇妙世界,用数学公式和编…...
激光院董事长龚赤坤到北京研发中心检查指导工作
4月11日,激光院党委书记、董事长龚赤坤到北京研发中心检查指导工作。 龚赤坤详细了解了北京研发中心的建设情况和科研进展,充分肯定所取得的成绩,对发展寄予厚望,龚赤坤指出北京研发中心的成立正处于激光院加速发展与产业进化的关…...
AbortController:让异步操作随时说停就停
AbortController:让异步操作随时说停就停 一、什么是 AbortController? AbortController 是 JavaScript 在浏览器和部分 Node.js 环境中提供的全局类,用来中止正在进行或待完成的异步操作(如 fetch() 请求、事件监听、可写流、数…...
leetcode572 另一棵树的子树
1.与100、101解法相同 递归: class Solution { private:bool compare(TreeNode* p, TreeNode* q){if(!p && !q) return true;else if(!p || !q) return false;else if(p->val ! q->val) return false;bool leftside compare(p->left, q->lef…...
再看 MPTCP 时的思考
2022 年夏,居家办公时,第一次接手 mptcp 就觉得它不靠谱,以至于我后来搞了 mpudp for DC,再后来我调研了很多 mptcp-based 方案,发现它们都是向善而来,最终灰头土脸而终。mptcp 实则一个坑,业内…...
将三维非平面点集拆分为平面面片的MATLAB实现
将三维非平面点集拆分为平面面片的MATLAB实现 要将三维空间中不在同一平面上的点集拆分为多个平面面片,可以采用以下几种方法: 1. 三角剖分法 (Delaunay Triangulation) 最简单的方法是将点集进行三角剖分,因为三个点总是共面的࿱…...
Python(10.2)Python可变与不可变类型内存机制解密:从底层原理到工程实践
目录 一、类型特性引发的内存现象1.1 电商促销活动事故分析1.2 内存机制核心差异 二、内存地址追踪实验2.1 基础类型验证2.2 复合对象实验 三、深度拷贝内存分析3.1 浅拷贝陷阱3.2 深拷贝实现 四、函数参数传递机制4.1 默认参数陷阱4.2 安全参数模式 五、内存优化最佳实践5.1 字…...
华为hcie证书的有效期怎么判断?
在ICT行业,华为HCIE证书堪称含金量极高的“敲门砖”,拥有它往往意味着在职场上更上一层楼。然而,很多人在辛苦考取HCIE证书后,却对其有效期相关事宜一知半解。今天,咱们就来好好唠唠华为HCIE证书的有效期怎么判断这个关…...
【前端】CSS Grid 布局详解
CSS Grid 布局详解(通俗易懂版) 一、概述 CSS Grid 是一种二维布局系统,可以同时控制行和列,相比 Flex(一维布局),更适合用在整体页面布局或复杂模块结构中。 二、基础概念 Grid 容器&#x…...
物美“外贸转内销”极速绿色通道正式开启
「TMT星球」获悉,在国家“提振消费、扩大内需”及“内外贸一体化”战略指引下,物美集团依托自身零售生态优势,打造“云超绿通”专项通道,助力中国优质外贸企业实现“出口转内销”的高效转型,通过极速绿通、线上线下全渠…...
【说明书#1】Node.js 和 npm安装与使用
系统提示 npm 不是内部或外部命令,也不是可运行的程序或批处理文件,也就是 npm 命令无法识别。这个错误通常是因为 Node.js 和 npm 没有正确安装,或者它们的路径没有添加到系统的环境变量中。 解决方法如下: 1. 安装 Node.js 和 npm: 如果你还没有安装 Node.js,可以从…...
【触想智能】安卓工业平板电脑和普通商业平板电脑的区别
安卓工业平板电脑是基于ARM架构开发的一种工业平板电脑,它在自助终端、智能制造、产线车间、智慧物流、商业金融等诸多领域有着广泛的应用。 触想安卓工业平板电脑TPC-A2系列 安卓工业平板电脑和普通商业平板电脑在一些方面存在一些区别,包括设计、硬件规…...
Java基于SSM的课程答疑微信小程序【附源码、文档说明】
博主介绍:✌IT徐师兄、7年大厂程序员经历。全网粉丝15W、csdn博客专家、掘金/华为云//InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专栏推荐订阅👇dz…...
模板引擎语法-变量
模板引擎语法-变量 文章目录 模板引擎语法-变量(一)在Django框架模板中使用变量的代码实例(二)在Django框架模板中使用变量对象属性的代码实例(三)在Django框架模板中使用变量显示列表 (一&…...
1260 最大公约数
1260 最大公约数 ⭐️难度:中等 🌟考点:GCD 📖 📚 import java.util.Scanner; import java.util.Arrays;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int t …...
Node.js中net模块详解
Node.js 中 net 模块 API 详解 Node.js 的 net 模块提供了基于 TCP/IP 的网络功能,用于创建 TCP 服务器和客户端。以下是 net 模块的所有 API 详解: 1. 创建 TCP 服务器 const net require(net);// 1. 基本服务器 const server net.createServer((s…...
【从零开始学习JVM | 第三篇】虚拟机的垃圾回收学习(一)
堆空间的基本结构 Java 的自动内存管理主要是针对对象内存的回收和对象内存的分配。同时,Java 自动内存管理最核心的功能是 堆 内存中对象的分配与回收。 Java 堆是垃圾收集器管理的主要区域,因此也被称作 GC 堆(Garbage Collected Heap&am…...
intellj idea 2024.1
参考资料 激活 https://www.microcharon.com/tech/5.htmlja-netfilter-all下载地址:https://drive.microcharon.com/OneDrive/Software/JetBrains%20ja-netfilter-all%20Build%202024.1.11.zip 步骤及问题 下载后:安全前确保旧版本的idea已经卸载。安…...
redis之缓存击穿
一、前言 本期我们聊一下缓存击穿,其实缓存击穿和缓存穿透很相似,区别就是,缓存穿透是一些黑客故意请求压根不存在的数据从而达到拖垮系统的目的,是恶意的,有针对性的。缓存击穿的情况是,数据确实存在&…...
Node.js中path模块详解
Node.js path 模块全部 API 详解 Node.js 的 path 模块提供了处理文件路径的工具函数,支持跨平台路径操作。以下是 path 模块的所有 API 详解: 1. 路径解析与操作 const path require(path);// 1. 路径连接 const fullPath path.join(__dirname, fi…...
重构艺术 | 内联与查询替代临时变量
重构艺术 | 内联与查询替代临时变量 在代码重构的殿堂里,临时变量常常扮演着双面角色:既是代码清晰的助力器,也可能成为代码腐败的温床。本文将深入探讨两种处理临时变量的重要手法:内联临时变量(Inline Temp…...
数据分析-数据预处理
数据分析-数据预处理 处理重复值 duplicated( )查找重复值 import pandas as pd apd.DataFrame(data[[A,19],[B,19],[C,20],[A,19],[C,20]],columns[name,age]) print(a) print(--------------------------) aa.duplicated() print(a)只判断全局不判断每个 any() import p…...