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

Django5 实用指南(四)URL路由与视图函数

4.1 Django5的URL路由系统

Django 的 URL 路由系统是其核心组件之一,它负责将用户的 HTTP 请求(即 URL)映射到相应的视图函数上。每当用户在浏览器中访问某个 URL 时,Django 会根据项目的 URL 配置文件(urls.py)来匹配对应的视图函数,并调用它来处理请求。

Django 的 URL 路由支持模式匹配、动态路由以及带有参数的 URL,因此它非常强大和灵活。

4.1.1 URL路由的基础结构

在 Django 中,URL 路由配置通常位于 urls.py 文件中。这个文件定义了 URL 模式和它们对应的视图函数。

Django 通过 path() 和 re_path() 函数来配置 URL 路由。path() 是 Django 推荐的方式,它使用简洁的字符串匹配模式;而 re_path() 则使用正则表达式进行更复杂的匹配。

4.1.2 使用 path() 定义 URL 路由

path() 是 Django5 最常用的 URL 路由配置方法。它的基本用法如下:

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

在上面的代码中,我们定义了两个 URL 路由:

  1. /home/ 映射到 views.home 视图函数。
  2. /about/ 映射到 views.about 视图函数。
4.1.3 路由参数

Django5 的路由系统支持动态参数,允许你在 URL 中包含动态值。例如,假设你要为用户的个人资料页面定义 URL,你可以通过如下方式实现:

urlpatterns = [path('profile/<int:user_id>/', views.profile, name='profile'),
]

此时,URL 中的 <int:user_id> 会被动态替换为实际的 user_id,并传递给视图函数 profile()。

在视图函数中,我们可以通过参数来访问这个 user_id:

from django.shortcuts import renderdef profile(request, user_id):# 这里的 user_id 就是从 URL 中提取的动态参数user = User.objects.get(id=user_id)return render(request, 'profile.html', {'user': user})

Django 支持多种类型的参数:

  • <int>:用于提取整数类型的参数。
  • <str>:用于提取字符串类型的参数。
  • <slug>:用于提取由字母、数字、连字符等组成的字符串(如文章的 URL 标识符)。
4.1.4 使用 re_path() 定义 URL 路由

re_path() 允许你使用正则表达式来匹配更复杂的 URL 模式。它的基本语法与 path() 类似,但它允许你使用正则表达式进行灵活的匹配。

例如,以下代码演示了如何使用正则表达式匹配 URL:

from django.urls import re_path
from . import viewsurlpatterns = [re_path(r'^article/(?P<slug>[\w-]+)/$', views.article_detail, name='article_detail'),]

在这个示例中,(?P<slug>[\w-]+) 是一个正则表达式,表示 URL 中的 slug 参数可以是由字母、数字、下划线和连字符组成的字符串。Django 会将匹配到的 slug 传递给 article_detail 视图函数。

4.2 视图函数的使用

视图函数是 Django 的核心部分,它是处理用户请求并返回响应的地方。在 Django 中,视图函数接收 HTTP 请求,并返回一个 HTTP 响应。

4.2.1 基本视图函数

视图函数是普通的 Python 函数,接收一个 request 对象,并返回一个 HttpResponse 或其他响应对象。最常见的视图函数使用 render() 函数将数据传递给模板并返回一个渲染的页面。

基本视图函数示例:

from django.http import HttpResponse
from django.shortcuts import render# 简单的视图函数
def home(request):return HttpResponse("Welcome to the home page!")# 使用模板的视图函数
def about(request):return render(request, 'about.html')

在这个例子中,home() 视图函数直接返回了一个简单的文本响应,而 about() 视图函数则渲染了一个 HTML 模板并返回给用户。

4.2.2 使用上下文传递数据

视图函数不仅可以渲染模板,还可以向模板传递动态数据。你可以通过上下文字典将数据传递给模板,模板中可以使用这些数据来进行动态渲染。

视图函数传递数据示例:

def user_profile(request, user_id):user = User.objects.get(id=user_id)return render(request, 'user_profile.html', {'user': user})

在这个示例中,user_profile() 视图函数从数据库中获取了 user_id 对应的用户,并将用户数据传递给模板进行渲染。

4.2.3 视图函数中的重定向与反向解析

Django 提供了 HttpResponseRedirect 和 redirect() 方法来处理 URL 的重定向。重定向通常在用户提交表单后,将他们引导到另一个页面。

from django.shortcuts import redirectdef redirect_to_home(request):return redirect('home')

使用 redirect() 时,可以直接传入视图的名称(home)来实现反向解析,即根据视图名称自动生成 URL。

4.2.4 处理POST请求

Django的视图函数不仅可以处理GET请求,还可以处理POST请求。可以根据请求类型进行不同的处理。

处理POST请求的视图示例:

from django.shortcuts import render
from django.http import HttpResponsedef contact(request):if request.method == 'POST':name = request.POST.get('name')message = request.POST.get('message')# 这里可以进一步处理表单数据return HttpResponse(f"Thank you {name}, your message has been received!")return render(request, 'contact.html')

在这个示例中,当用户提交表单时,视图会接收POST请求并处理表单数据。

4.3 类视图(Class-Based Views)

Django 提供了基于类的视图(CBVs)来替代传统的函数视图(FBVs)。类视图通过继承 Django 提供的基类来组织视图逻辑,使得视图的代码更加模块化、可复用,并且更符合面向对象的编程范式。

4.3.1 基本的类视图

类视图通过继承 Django 的 View 类来定义。最常用的类视图包括 ListView、DetailView、CreateView 等,它们简化了常见的操作,如列出对象、显示详细信息、创建新对象等。

基本的类视图示例:

from django.http import HttpResponse
from django.views import Viewclass HomeView(View):def get(self, request):return HttpResponse("Welcome to the home page!")

在这个示例中,HomeView 继承了 View 类,并重写了 get() 方法来处理 GET 请求。

4.3.2 使用 TemplateView 渲染模板

Django 提供了 TemplateView 类视图来处理渲染模板的常见需求。

TemplateView 示例:

from django.views.generic import TemplateViewclass AboutView(TemplateView):template_name = 'about.html'

在这个例子中,AboutView 继承自 TemplateView,并指定了要渲染的模板。你可以通过 context 属性来传递动态数据。

4.3.3 使用 ListView 和 DetailView

Django 提供了很多通用类视图,例如 ListView 和 DetailView,用于列出对象和显示单个对象的详细信息。

ListView 示例:

from django.views.generic import ListView
from .models import Articleclass ArticleListView(ListView):model = Articletemplate_name = 'article_list.html'context_object_name = 'articles'

ListView 自动查询数据库中的所有 Article 对象,并将它们传递给模板。

DetailView 示例:

from django.views.generic import DetailView
from .models import Articleclass ArticleDetailView(DetailView):model = Articletemplate_name = 'article_detail.html'context_object_name = 'article'

DetailView 用于显示数据库中单个对象的详细信息。它会自动根据 URL 中的参数(通常是主键)来获取对象,并将其传递给模板。

小结

本章深入探讨了 Django5 的 URL 路由系统、视图函数以及类视图。通过 Django 的 URL 路由系统,你可以轻松地将 URL 与视图函数映射,并使用动态路由来处理不同类型的请求。视图函数是 Django 应用的核心,处理请求并返回响应。而类视图则提供了更加模块化和可复用的方式来组织视图逻辑。

在实际开发中,选择合适的视图类型和路由方式,有助于提高代码的可维护性和扩展性。后续章节将继续介绍如何在 Django 项目中深入应用这些概念。

相关文章:

Django5 实用指南(四)URL路由与视图函数

4.1 Django5的URL路由系统 Django 的 URL 路由系统是其核心组件之一&#xff0c;它负责将用户的 HTTP 请求&#xff08;即 URL&#xff09;映射到相应的视图函数上。每当用户在浏览器中访问某个 URL 时&#xff0c;Django 会根据项目的 URL 配置文件&#xff08;urls.py&#…...

Unity3D 基于 GPU 动画和 Compute Shader 的大批量动画渲染详解

引言 在现代游戏开发中&#xff0c;渲染大量动画角色是一个常见的需求&#xff0c;尤其是在大规模战斗场景、开放世界游戏或 VR/AR 应用中。传统的 CPU 动画计算和渲染方式在面对大批量角色时&#xff0c;往往会遇到性能瓶颈。为了优化性能&#xff0c;开发者可以利用 GPU 的强…...

遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…...

什么是DeFi (去中心化金融)

DeFi (去中心化金融) 概述 &#x1f4b0; 1. DeFi 基础概念 1.1 什么是 DeFi&#xff1f; DeFi 是建立在区块链上的金融服务生态系统&#xff0c;它&#xff1a; 无需中心化中介开放且透明无需许可即可参与代码即法律 1.2 DeFi 的优势 开放性&#xff1a;任何人都可以参与…...

深入解析 sudo -l 命令的输出内容

在 Linux 系统中&#xff0c;sudo 命令允许普通用户以超级用户&#xff08;root&#xff09;权限执行命令。sudo -l 命令用于查看当前用户在 sudoers 配置文件中的权限&#xff0c;以及与 sudo 相关的安全策略。本文将详细解析 sudo -l 输出的各个部分&#xff0c;包括 用户权限…...

DeepSeek 助力 Vue 开发:打造丝滑的瀑布流布局(Masonry Layout)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…...

linux学习【7】Sourc Insight 4.0设置+操作

目录 1.Source Insight是什么&#xff1f;2.需要哪些配置&#xff1f;3.怎么新建项目4.一些问题的解决1.中文乱码问题 按照这个设置就可以了&#xff0c;下面的设置会标明设置理由。 1.Source Insight是什么&#xff1f; 阅读源码&#xff0c;编辑源码&#xff0c;不能编译&am…...

OpenCV形态学操作

1.1. 形态学操作介绍 初识&#xff1a; 形态学操作是一种基于图像形状的处理方法&#xff0c;主要用于分析和处理图像中的几何结构。其核心是通过结构元素&#xff08;卷积核&#xff09;对图像进行扫描和操作&#xff0c;从而改变图像的形状和特征。例如&#xff1a; 腐蚀&…...

使用Python中的`gensim`库构建LDA(Latent Dirichlet Allocation)模型来分析收集到的评论

下面为你详细介绍如何使用Python中的gensim库构建LDA&#xff08;Latent Dirichlet Allocation&#xff09;模型来分析收集到的评论。LDA是一种主题模型&#xff0c;它可以将文档集合中的文本按照主题进行分类。 步骤概述 数据预处理&#xff1a;对收集到的评论进行清洗、分词…...

【STM32】外部时钟|红外反射光电开关

1.外部时钟 单片机如何对外部触发进行计数&#xff1f;先看一下内部时钟&#xff0c;内部时钟是接在APB1和APB2时钟线上的&#xff0c;APB1,APB2来自stm32单片机内部的脉冲信号&#xff0c;也叫内部时钟。我们用来定时。同样我们可以把外部的信号接入单片机&#xff0c;来对其…...

Visual Studio Code 集成 Baidu Comate

文章目录 安装Baidu Comate插件 安装Baidu Comate插件 从左主侧栏中 点击 【扩展】这个图标&#xff0c;然后在上方输入栏中输入 baidu comate —>选中列出的Bai Comate —>点击 【安装】按钮&#xff0c;等待安装完毕…...

数据结构者

数据&#xff08;data&#xff09;&#xff1a;可被计算机接受处理的符号总称 数据元素&#xff08;data element&#xff09;&#xff1a;数据的基本单位&#xff0c;常作为一个整体进行考虑和处理 一个数据元素可以由若干个数据项&#xff08;data item&#xff09;组成 数…...

论文阅读 DOES END-TO-END AUTONOMOUS DRIVING REALLY NEED PERCEPTION TASKS?

端到端的强势来袭&#xff0c;好久了~~~ 简单翻译&#xff1a;端到端真的需要感知任务嘛&#xff1f; code https://github.com/PeidongLi/SSR. https://arxiv.org/pdf/2409.18341 1. 摘要 端到端自动驾驶&#xff08;E2EAD&#xff09;方法通常依赖于监督式感知任务来提取显…...

总结UML类图几种关系画法

最近在公司需要画类图&#xff0c;有些遗忘&#xff0c;于是重新学习并并总结了一下&#xff1a; 继承&#xff1a;实线空心三角箭头。A继承B&#xff0c;A指向B。A是一种B。实现&#xff1a;虚线空心三角箭头。A实现B&#xff0c;A指向B。A实现B接口。关联&#xff1a;实线普…...

python-leetcode 40.二叉树的层序遍历

题目&#xff1a; 给定二叉树的根节点root,返回其节点值得层序遍历&#xff08;即逐层从左到右访问所有节点&#xff09; 方法&#xff1a;广度优先搜索 # Definition for a binary tree node. # class TreeNode(object): # def __init__(self, val0, leftNone, rightNon…...

安利:外文文献翻译插件

沉浸式翻译 好用吹爆&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01;&#xff01; 任务 2.谷歌学术 复制外文的标题搜索 3.进入文献所在&#xff0c;登录对应机构 4.可以看到都翻译好了 5.然后复制到文档&#xff0c;改改格式巴…...

Python——生成AIGC图像

文章目录 一、背景介绍 二、效果图展示 三、完整代码 四、分步解释 五、实用建议 1&#xff09;提示词技巧 2&#xff09;性能优化 3&#xff09;常见问题处理 4&#xff09;扩展功能建议 六、注意事项 1. 硬件要求 2. 法律合规 3. 模型安全 一、背景介绍 AIGC&a…...

OpenGL(2)基于Qt做OpenGL开发

文章目录 一、基于Qt做OpenGL开发1、环境准备2、创建OpenGL窗口3、绘制基本图形 一、基于Qt做OpenGL开发 1、环境准备 确保你已经安装了 Qt 开发环境&#xff08;包含 Qt Creator&#xff09;&#xff0c;并且支持 OpenGL 开发。在创建 Qt 项目时&#xff0c;选择 “Qt Widget…...

【Windows软件 - HeidiSQL】导出数据库

HeidSQL导出数据库 软件信息 具体操作 示例文件 选项分析 选项&#xff08;1&#xff09; 结果&#xff08;1&#xff09; -- -------------------------------------------------------- -- 主机: 127.0.0.1 -- 服务器版本: …...

用deepseek学大模型04-模型可视化与数据可视化

deepseek.com: pytorch可视化工具 生成神经网络图 在 PyTorch 中&#xff0c;可视化神经网络结构的常用工具和方法有以下几种&#xff0c;以下将详细介绍它们的用法&#xff1a; 1. TensorBoard (PyTorch 官方集成) PyTorch 通过 torch.utils.tensorboard 支持 TensorBoard&a…...

rust笔记8-Deref与隐式解引用强制转换

Rust 的智能指针和 Deref Trait 是 Rust 中非常重要的概念,它们使得 Rust 的引用和指针操作更加灵活和安全。下面我们将深入介绍 Deref Trait、Deref 与 &、* 运算符的关系,以及 Rust 的隐式解引用强制转换(Deref Coercion)。 1. 智能指针与 Deref Trait 智能指针(如…...

Debian软件包重构

Explore projects GitLab 1. apt-get build-dep <pkg> ## 安装编译依赖包 2. apt source <pkg> ## 下载 <pkg> 包的源码 3. 创建 git &#xff0c;打补丁 4. dpkg-buildpackage -b -uc -us -d ## 重新打包编译 # 解压出包中的文件到 extract 目…...

学习 `@PreDestroy`:Java EE/Jakarta EE 生命周期回调

学习 PreDestroy&#xff1a;Java EE/Jakarta EE 生命周期回调 前言1. 什么是 PreDestroy&#xff1f;2. PreDestroy 的用途3. 使用 PreDestroy 的条件4. 代码示例运行结果&#xff1a; 5. PreDestroy 的调用时机6. 注意事项7. 实际应用场景场景 1&#xff1a;数据库连接管理场…...

JDK最详细安装教程,零基础入门到精通,收藏这篇就够了

目录 一、下载与安装二、配置环境三、验证是否配置成功 一、下载与安装 1、下载地址 http://www.oracle.com/technetwork/java/javase/downloads/index.html 2、选择自己想要的版本下载&#xff0c;并且选择自己电脑对应的版本下载 3、下载完成之后&#xff0c;双击打开然后…...

解决DeepSeek服务器繁忙问题的实用指南

目录 简述 1. 关于服务器繁忙 1.1 服务器负载与资源限制 1.2 会话管理与连接机制 1.3 客户端配置与网络问题 2. 关于DeepSeek服务的备用选项 2.1 纳米AI搜索 2.2 硅基流动 2.3 秘塔AI搜索 2.4 字节跳动火山引擎 2.5 百度云千帆 2.6 英伟达NIM 2.7 Groq 2.8 Firew…...

【一个人的第一年】成都Java日志7

#海纳百川&#xff0c;有容乃大# 1.互联网 互联网是一个服务我的工具而不是绑架任何人的场所&#xff0c;网络不是现实&#xff0c;现实才是生活。 现在越来越多的声音出现在互联网&#xff0c;能轻易地挑起群体情绪。对其他的任何事可以有不同的立场和观点&#xff0c;而不是…...

回调处理器

文章目录 什么是回调处理器回调处理器的工作流程回调处理器的使用自定义链组件中的回调 内置回调处理器自定义回调处理器 在编程领域中&#xff0c;回调是一个非常重要的概念。简而言之&#xff0c;回调是一种特殊的函数或方法&#xff0c;它可以被传递给另一个函数作为参数&am…...

国产编辑器EverEdit -告别东找西找!一键打开当前文件所在目录!

1 文件操作 2 应用场景 在文件编辑过程中&#xff0c;有时需要对文件进行一些操作&#xff0c;比如&#xff1a;在命令窗口输入文件路径、文件名&#xff0c;进入到文件目录&#xff0c;对文件进行压缩等&#xff0c;如果没有直达命令&#xff0c;用户需要通过文件管理器找到目…...

23种设计模式 - 解释器模式

模式定义 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;用于为特定语言&#xff08;如数控系统的G代码&#xff09;定义文法规则&#xff0c;并构建解释器来解析和执行该语言的语句。它通过将语法规则分解为多个类&#xff0c;实现…...

深度学习在语音识别中的应用

引言 语音识别技术是人工智能领域中的一个重要分支&#xff0c;它使得机器能够理解和转换人类的语音为文本。深度学习的出现极大地推动了语音识别技术的发展。本文将介绍如何使用深度学习构建一个基本的语音识别系统&#xff0c;并提供一个实践案例。 环境准备 在开始之前&a…...

【相聚青岛】人工智能与材料国际学术会议即将召开

一、大会简介 人工智能与材料国际会议&#xff08;ICAIM 2025&#xff09; 官方网站&#xff1a;www.ic-aim.net 官方邮箱&#xff1a;icaim2025163.com 会议时间&#xff1a;2025年3.21-24 会议地点&#xff1a;中国青岛 会议检索&#xff1a;EI检索 截稿时间&#xff1a;2月…...

PHP会务会议系统小程序源码

&#x1f4c5; 会务会议系统 一款基于ThinkPHPUniapp框架&#xff0c;精心雕琢的会议管理微信小程序&#xff0c;专为各类高端会议场景量身打造。它犹如一把开启智慧殿堂的金钥匙&#xff0c;为会议流程优化、开支精细化管理、数量精准控制、标准严格设定以及供应商严格筛选等…...

能够私有化部署的集装箱箱号识别软件,技术实现方法

启智畅想集装箱箱号识别软件是一种基于计算机视觉和OCR&#xff08;光学字符识别&#xff09;技术的工具&#xff0c;主要用于自动识别集装箱上的唯一编号&#xff08;如ISO6346标准的箱号&#xff0c;格式为4位字母7位数字1位校验码&#xff09;。以下是关于此类软件的关键信息…...

idea连接gitee后.反向创建仓库和分支

文章目录 自动关联你登录的账号填写你的仓库和分支完成后会在gitee上创建一个仓库 (使用idea远程兼容gitee并反向创建仓库和分支) 自动关联你登录的账号 填写你的仓库和分支 完成后会在gitee上创建一个仓库...

Java——面向对象编程

面向对象编程&#xff08;Object-Oriented Programming, OOP&#xff09;是Java的核心特性之一。它通过将现实世界中的事物抽象为对象&#xff0c;使程序更易于理解、维护和扩展。以下是Java面向对象编程的详细介绍&#xff1a; 1. 面向对象编程的四大特性 Java的面向对象编程…...

MAC快速本地部署Deepseek (win也可以)

MAC快速本地部署Deepseek (win也可以) 下载安装ollama 地址: https://ollama.com/ Ollama 是一个开源的大型语言模型&#xff08;LLM&#xff09;本地运行框架&#xff0c;旨在简化大模型的部署和管理流程&#xff0c;使开发者、研究人员及爱好者能够高效地在本地环境中实验和…...

从猜想终结到算法革新,弹性哈希开启数据存储新篇章

目录 哈希表的前世今生基本原理从传统到现代&#xff1a;哈希表的演变历程 安德鲁 克拉皮文及其团队的创作历程弹性哈希详解基本原理优点技术细节 漏斗哈希解析基本原理优点技术细节 新算法的实际应用案例电子商务推荐系统金融交易监控系统社交媒体内容过滤物联网设备管理 结论…...

云端SaaS系统架构设计

随着互联网的发展&#xff0c;SaaS&#xff08;软件即服务&#xff09;架构在众多行业中得到了广泛应用。作为一种高效、可扩展的服务模式&#xff0c;SaaS不仅提升了企业的信息化水平&#xff0c;也使得服务提供商能够通过云计算平台实现全球范围内的业务交付。在设计一个现代…...

黑盒测试和白盒测试的主要优缺点

黑盒测试 vs. 白盒测试&#xff1a;优缺点对比 类别黑盒测试&#xff08;Black-box Testing&#xff09;白盒测试&#xff08;White-box Testing&#xff09;定义不关注代码实现&#xff0c;仅测试功能和输入输出关注代码逻辑&#xff0c;测试代码内部实现测试依据需求文档、功…...

获取每月最后一个工作日:考虑法定节假日与调休

在许多业务场景中&#xff0c;了解每个月的最后一个工作日对于财务结算、报告生成等至关重要。然而&#xff0c;确定这一日期时必须考虑到国家的法定节假日以及可能存在的调休安排。本文将介绍如何通过Java编写一个工具类来获取指定月份的最后一个工作日&#xff0c;并利用第三…...

Hayabusa:一款针对Windows事件日志的威胁搜索与取证分析工具

关于Hayabusa Hayabusa是一款针对Windows事件日志的威胁搜索与取证分析工具&#xff0c;该工具基于内存安全的Rust开发&#xff0c;支持多线程运行&#xff0c;并且是唯一完全支持 Sigma 规范&#xff08;包括 v2 关联规则&#xff09;的开源工具。 Hayabusa本质上是一个Windo…...

leetcode_位运算 190.颠倒二进制位

190. 颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位。 1. 字符串 class Solution:# param n, an integer# return an integerdef reverseBits(self, n):res "" # 创建一个保存结果的空字符串for b in str(bin(n))[2:]:# 遍历n的二进制数res b res # 把每…...

O1 Embedder:让检索器思考后再行动

25年2月来自中科大和北京智源研究院的论文“O1 Embedder: Let Retrievers Think Before Action”。 大语言模型 (LLM) 的功能日益强大&#xff0c;彻底改变人们获取和利用信息的方式。值得注意的是&#xff0c;LLM 擅长执行细粒度数据表示&#xff0c;这有助于精确检索信息。它…...

Python项目中一些常用的关键字

数据定义与类型相关 int&#xff1a;表示整数类型。 float&#xff1a;用于表示浮点数类型。 str&#xff1a;字符串类型&#xff0c;用于处理文本数据。 bool&#xff1a;布尔类型&#xff0c;取值为True或False。 list&#xff1a;列表类型&#xff0c;可存储多个元素&am…...

Java 反射 (Reflection) 详解

一、什么是 Java 反射&#xff1f; Java 反射 (Reflection) 是 Java 语言的一个强大特性&#xff0c;它允许 在运行时 检查和修改类、接口、字段和方法的信息&#xff0c;而不需要在编译时知道这些信息。 换句话说&#xff0c;反射可以让你在程序运行过程中“动态”地获取类的…...

MicroPython使用ESP32和acs712模块测量电流

我们在做物联网应用时&#xff0c;电流检测是监控设备能耗、优化电源管理的重要手段&#xff0c;本文介绍如何利用MicroPython开发ESP32与ACS712霍尔电流传感器模块&#xff0c;实现高精度电流测量&#xff0c;并提供硬件连接、代码实现及校准方法&#xff0c;适用于智能家居、…...

Rust编程语言入门教程 (七)函数与控制流

Rust 系列 &#x1f380;Rust编程语言入门教程&#xff08;一&#xff09;安装Rust&#x1f6aa; &#x1f380;Rust编程语言入门教程&#xff08;二&#xff09;hello_world&#x1f6aa; &#x1f380;Rust编程语言入门教程&#xff08;三&#xff09; Hello Cargo&#x1f…...

pdf预览在vue项目中的使用兼容ie浏览器

一、下载pdf预览插件 链接: https://pan.baidu.com/s/1wuzay-saAfiqtS-efd-cvw?pwd6m78 提取码: 6m78 二、创建一个pdf文件夹&#xff0c;将下载下来的文件build和web文件夹复制到pdf文件夹下 三、项目中使用 (路径由两部分组成&#xff0c;第一部分是项目存放pdf插件的路径…...

二级指针略解【C语言】

以int** a为例 1.二级指针的声明 a 是一个指向 int*&#xff08;指向整型的指针&#xff09;的指针&#xff0c;即二级指针。 通俗的讲&#xff0c;a是一个指向指针的指针&#xff0c;对a解引用会是一个指针。 它可以用于操作动态分配的二维数组、指针数组或需要间接修改指针…...

前端基础入门:HTML、CSS 和 JavaScript

在现代网页开发中,前端技术扮演着至关重要的角色。无论是个人网站、企业官网,还是复杂的 Web 应用程序,前端开发的基础技术 HTML、CSS 和 JavaScript 都是每个开发者必须掌握的核心技能。本文将详细介绍这三者的基本概念及其应用 一、HTML——网页的骨架 HTML(HyperText …...