Django3 - 开启Django Hello World

一、开启Django Hello World

        要学习Django首先需要了解Django的操作指令,了解了每个指令的作用,才能在MyDjango项目里编写Hello World网页,然后通过该网页我们可以简单了解Django的开发过程。

1.1 Django的操作指令

        无论是创建项目还是创建项目应用,都需要使用相关的指令才能得以实现,这些指令都是Django内置的操作指令。在PyCharm的Terminal中输入指令python manage.py help并按回车键,即可看到相关的指令信息,如图所示。

        Django的操作指令共有30条,每条指令的说明如表所示。

1.2 开启Hello World之旅

        首先在templates文件夹里新建index.html文件,该文件是Django的模板文件,如果MyDjango项目是在命令提示符窗口下创建的,就需要在MyDjango项目的路径下自行创建templates文件夹,如图所示。

        接着打开MyDjango文件夹的配置文件settings.py,找到配置属性INSTALLED_APPS和TEMPLATES,分别将项目应用index和模板文件夹templates添加到相应的配置属性,其配置如下所示:

        Django所有的功能都必须在配置文件settings.py中设置,否则项目在运行的时候无法生成相应的功能。最后在项目的urls.py(MyDjango文件夹的urls.py)​、views.py(项目应用index的views.py文件)和index.html(templates文件夹的index.html)文件里编写相应的代码,即可实现简单的Hello World网页,代码如下:

        在上述代码里可以简单映射出用户访问网页的过程,说明如下:

        当用户在浏览器访问网址的时候,该网址在项目所设置的路由(urls.py文件)里找到相应的路由信息。

        然后从路由信息里找到对应的视图函数(views.py文件)​,由视图函数处理用户请求。

        视图函数将处理结果传递到模板文件(index.html文件)​,由模板文件生成网页内容,并在浏览器里展现。

        启动MyDjango项目,并在浏览器上访问路由地址(http://127.0.0.1:8000)即可看到Hello World网页,如图所示。


        注意:由于Django默认配置的数据库是SQLite,因此在启动MyDjango项目之后,在MyDjango的目录里自动新建db.sqlite3文件。

二、调试Django项目

        在开发网站的过程中,为了确保功能可以正常运行及验证是否实现开发需求,开发人员需要对已实现的功能进行调试。Django的调试方式分为PyCharm断点调试和调试异常。

2.1 PyCharm断点调试

        我们知道,PyCharm调试Django开发的项目,PyCharm的版本必须为专业版,而社区版是不具备Web开发功能的。使用PyCharm启动Django的时候,可以发现PyCharm上带有爬虫的按钮,该按钮用于开启Django的Debug调试模式。

        单击调试按钮(带有爬虫的按钮)​,即可开启调试模式,在PyCharm的正下方可以看到相关的调试信息,如图所示。

        从图的调试界面可以看到有多个操作按钮,常用的调试按钮的功能说明以表格的形式表示,如表所示。

        我们通过简单的示例来讲述如何使用PyCharm的调试模式。以MyDjango项目为例,在index文件夹的views.py文件里,视图函数index添加变量value并且在返回值return处设置断点。

        设置断点是在图的方框里单击一下即可出现红色的圆点,该圆点代表断点设置,当项目开启调试模式并运行到断点所在的代码位置,程序就会暂停运行。开启MyDjango项目的调试模式并在浏览器上访问127.0.0.1:8000,在PyCharm正下方的调试界面里可以看到相关的代码信息,如图所示。

        调试界面Debugger的Frames是当前断点的程序所依赖的程序文件,单击某个文件,Variables就会显示当前文件的程序所生成的对象信息。单击按钮,PyCharm就会自动往下执行程序,直到下一个断点才暂停程序;单击按钮,PyCharm只会执行当前暂停位置的下一步代码,这样可以清晰地看到每行代码的执行情况。这两个按钮是断点调试最为常用的,它们能让开发者清晰地了解代码的执行情况和运行逻辑。

        如果程序在运行过程中出现异常或者代码中设有输出功能(如print)​,这些信息就可以在PyCharm正下方调试界面的Console里查看,如图所示。

        启动项目的时候,从图的运行信息看到“System check identified no issues (0silenced)”信息,该信息表示Django对项目里所有的代码语法进行检测,如果代码语法存在错误,在启动的过程中就会报出相关的异常信息。图中的“This is test!”是视图函数index的“print(value)”代码输出结果;"GET / HTTP/1.1"200代表浏览器成功访问127.0.0.1:8000,其中200代表HTTP的状态码。

        注意:断点调试无法在模板文件(templates的index.html)设置断点,因此无法对模板文件进行调试,只能通过PyChram调试界面Console或浏览器开发者工具进行调试。

2.2 调试异常

        PyCharm的调试模式无法调试模板文件,而模板文件需要使用Django的模板语法,若想调试模板文件,则最有效的方法是查看PyCharm或浏览器提示的异常信息。调试异常需要根据项目运行时所产生的异常信息进行分析,使用浏览器访问路由地址的时候,如果出现异常信息,就可以直接查看异常信息找出错误位置。比如在templates的模板文件index.html里添加错误的代码,如下所示:

        当运行MyDjango项目并在浏览器访问127.0.0.1:8000的时候,PyCharm正下方的调试界面Console就会出现异常信息,从异常信息中可以找到具体的异常位置。除了在PyCharm正下方的调试界面Console查看异常信息外,还可以在浏览器上分析异常信息,比如模板文件index.html的错误语法,Django还能标记出错位置,便于开发者调试和跟踪。

        还有一种常见的情况是网页能正常显示,但网页内容出现部分缺失。对于这种情况,只能使用浏览器的开发者工具对网页进行分析处理。以templates的模板文件index.html为例,对其添加正确的代码,但在网页里出现内容缺失。

        再次启动MyDjango项目并在浏览器访问127.0.0.1:8000的时候,浏览器能正常访问网页,但无法显示{{ value }}的内容,打开浏览器的开发者工具看到,{{ value }}的内容是不存在的。

        此外,浏览器的开发者工具对于调试AJAX和CSS样式非常有用。通过生成的网页内容进行分析来反向检测代码的合理性是常见的手段之一,这是通过校验结果与开发需求是否一致的方法来调试项目功能的。

三、HTML、CSS和JavaScript

        网站开发可以分为前端开发和后端开发,前端开发是指网页设计,我们在浏览器看到网站的图片、文字、音乐视频等内容排版都是由前端开发人员实现的;后端开发是为前端开发提供实际的数据内容和业务逻辑,比如提供文字内容、图片和音乐视频的路径地址等信息。

        前端开发人员必须掌握HTML、CSS和JavaScript的基础语言,这些基础语言上延伸了许多前端框架,比如jQuery、Bootstrap、Vue、React和AngularJS等。后端开发人员必须掌握一种或多种后端开发语言、数据库应用原理、Web服务器应用原理和基础运维技术,目前较为热门的后端开发语言分别有Java、PHP、Python和GO语言;数据库为MySQL、MSSQL、Oracle和Redis等。

        尽管明确划分了网站开发的职责,在实际工作中,特别是一些中小企业,他们也要求后端开发人员必须掌握前端开发技术,但无须精通前端开发,只要掌握基本的应用开发即可,比如调整网站布局或编写简单的JavaScript脚本。我们除了学习使用Django开发网站,还需要掌握前端的基础知识。

3.1 HTML

        HTML是超文本标记语言,标准通用标记语言下的一个应用。​“超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。超文本标记语言的结构包括“头”部分(Head)和“主体”部分(Body),其中“头”部分提供关于网页的信息,​“主体”部分提供网页的具体内容。下面来看一个简单的HTML文档的结构:

        一个完整的网页必定以<html></html>为开头和结尾,整个HTML可分为两部分:

        (1)<head></head>,主要是对网页的描述、图片和JavaScript的引用。<head>元素包含所有的头部标签元素。在<head>元素中可以插入脚本(scripts)、样式文件(CSS)及各种meta信息。该区域可添加的元素标签有<title>、<style>、<meta>、<link>、<script>、<noscript>和<base>。

        (2)<body></body>是网页信息的主要载体。该标签下还可以包含很多类别的标签,不同的标签有不同的作用,标签以<>开头,以</>结尾,<>和</>之间的内容是标签的值和属性,每个标签之间可以是相互独立的,也可以是嵌套、层层递进的关系。

        根据这两个组成部分就能很容易地分析整个网页的布局。其中,<body></body>是整个HTML的重点部分,通过示例讲述如何分析<body></body>:

        上述例子分析如下:

        (1)<h1>和<div>是两个不相关的标签,两个标签是相互独立的。

        (2)<div>和<p>是嵌套关系,<p>的上一级标签是<div>。

        (3)<h1>和<p>这两个标签是毫无关系的。

        (4)<h2>标签包含一个<p>标签,<p>标签再包含一个<a>标签,一个标签可以包含多个标签在其中。

        除上述示例的标签之外,大部分标签都可以在<body></body>中添加,常用的标签如表所示。

3.2 CSS

        HTML代码是保存在后缀名为.html的文件,而CSS样式是保存在后缀名为.css的文件,然后在HTML代码中调用CSS样式文件。由于HTML代码中会存在多个不同的元素,并且每个元素的网页布局各不相同,因此需要使用CSS选择器定位每个HTML元素,然后再编写相应的CSS样式。

        CSS选择器划分了多种类型,同一个HTML元素可以使用不同的CSS选择器进行定位,实际开发中最常用的CSS选择器分别为:类别选择器、标签选择器、ID选择器、通用选择器和群组选择器,我们将简单讲述如何使用这些CSS选择器实现HTML元素的网页布局。

        打开index.html文件,在该文件中定义网页元素,详细代码如下:

        上述代码中使用link标签引入同一路径的index.css文件,link标签是在HTML代码中引入CSS文件,使CSS文件的样式代码能在HTML代码中生效。然后设置了5个不同类型的HTML标签,分别为<h3>、<div>、<p>、<input>和<button>,其中<div>设置了class属性,<input>和<button>设置了id属性。


        使用类别选择器、标签选择器、ID选择器、通用选择器和群组选择器分别对这些HTML标签进行样式设置。

        上述代码中,我们依次使用通用选择器、标签选择器、类别选择器、ID选择器和群组选择器设置index.html的网页布局,从代码中可以归纳总结CSS选择器的语法格式,如下所示。

XXX {
attribute:value;
attribute:value;
}

        CSS选择器的语法说明如下:

        (1)XXX代表CSS选择器的类型。

        (2)在CSS选择器后面使用空格并添加中括号{},在中括号{}里面编写具体的样式设置。

        (3)样式设置以attribute:value表示,attribute代表样式名称,value代表该样式设置的数值。多个样式之间使用分号“;”隔开。

        (4)如果要对样式添加注释,可以使用“/**/”添加说明。我们回看index.css文件,该文件的样式代码说明如下:

(1)通用选择器:它以符号“*”表示,这是设置整个网页所有元素的样式,用于网页的整体布局。上述代码是将整个网页的字体大小设为30px。

(2)标签选择器:它以标签名表示,如果网页中有多个相同的标签,那么标签选择器的样式设置都会作用在这些标签上。上述代码是将所有h3标签的字体颜色设为蓝色。

(3)类别选择器:它以.xxx表示,其中xxx代表标签属性class的属性值,这是开发中常用的样式设置之一。使用类别选择器,必须在HTML的标签中设置class属性,在class属性的属性值前面加上实心点“.”即可作为类别选择器。上述代码是将class="content"的标签放置网页居中位置。

(4)ID选择器:它以#xxx表示,其中xxx代表标签属性id的属性值,这也是开发中常用的样式设置之一。使用ID选择器,必须在HTML的标签中设置id属性,在id属性的属性值前面加上井号“#”即可作为ID选择器。上述代码是将id=" message"的标签设置宽度为500px。

(5)群组选择器:它是将多个CSS选择器组合成一个群组,并由这个群组对这些标签进行统一的样式设置,每个CSS选择器之间使用逗号隔开。上述代码是分别将id="submit"的标签和p标签的字体颜色设为红色。

        CSS样式也可以直接在HTML文件里编写,但在企业开发中,一般都采用HTML和CSS代码分离,这样便于维护和管理,而且利于开发者阅读。

3.3 JavaScript

        JavaScript(简称“JS”​)是一种具有函数优先的轻量级、解释型的编程语言。它是因为开发Web页面的脚本语言而出名的,但是也被用到了很多非浏览器环境中,JavaScript基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式的编程风格。简单来说,JavaScript是能被浏览器解释并执行的一种编程语言。

        JavaScript可以在HTML文件里编写,但在企业开发中也是采用HTML和JavaScript代码分离。

        首先打开index.html文件,在HTML代码中引入JS文件,并为button标签添加事件触发,详细代码如下:


        从上述代码看到,script标签是在HTML代码中引入JS文件,使得JS文件的JavaScript代码能在HTML代码中生效。button标签添加了onclick属性,该属性是JS的事件触发,当用户单击“提交”按钮的时候,浏览器将会触发事件onclick所绑定的函数getInfo()。JavaScript除了事件触发onclick之外,还提供了其他的事件触发,如表所示。

        看index.html的button标签,由于该标签的事件触发onclick绑定了函数getInfo(),因此下一步在index.js里定义函数getInfo(),函数代码如下:        上述代码的document.getElementById是获取id="message"的标签(即input标签)的属性value的属性值,JavaScript的document对象简称为DOM对象,它可以定位某个HTML标签并进行操作,从而实现网页的动态效果。document对象定义了7个对象方法,每个对象方法的详细说明如表所示。

        在实际开发中,我们经常使用getElementById、getElementsByName和getElementsByTagName方法来定位HTML标签,然后再对已定位的HTML标签进行操作。

四、小结

        网站是指在因特网上根据一定的规则,使用HTML等工具制作并用于展示特定内容相关网页的集合。在早期,域名、空间服务器与程序是网站的基本组成部分,随着科技的不断进步,网站的组成也日趋复杂,目前多数网站由域名、空间服务器、DNS域名解析、网站程序和数据库等组成。

        网站开发流程如下:

        (1)需求分析:当拿到一个项目时,必须进行需求分析,清楚知道网站的类型、具体功能、业务逻辑以及网站的风格,此外还要确定域名、网站空间或者服务器以及网站备案等。

        (2)规划静态内容:重新确定需求分析,并根据用户需求规划出网站的内容板块草图。

        (3)设计阶段:根据网站草图,由美工制作成效果图。就好比建房子一样,首先画出效果图,然后才开始建房子,网站开发也是如此。

        (4)程序开发阶段:根据草图划分页面结构和设计,前端和后台可以同时进行。前端根据美工效果负责制作静态页面;后台根据页面结构和设计,设计数据库数据结构和开发网站后台。

        (5)测试和上线:在本地搭建服务器,测试网站是否存在Bug。若无问题,则可以将网站打包,使用FTP上传至网站空间或者服务器。

        (6)维护推广:在网站上线之后,根据实际情况完善网站的不足,定期修复和升级,保障网站运营顺畅,然后对网站进行推广宣传等。

        Django采用MTV的框架模式,即模型(Model)、模板(Template)和视图(Views),三者之间各自负责不同的职责。

        模型:数据存取层,处理与数据相关的所有事务,例如如何存取、如何验证有效性、包含哪些行为以及数据之间的关系等。

        模板:表现层,处理与表现相关的决定,例如如何在页面或其他类型的文档中进行显示。

        视图:业务逻辑层,存取模型及调取恰当模板的相关逻辑,模型与模板的桥梁。

        建议使用pip命令安装Django,安装的方法如下:

# 方法一
pip install Django
# 方法二
pip install D:\Django-3.1.4-py3-none-any.whl

        两种不同的安装方法都是使用pip执行的,唯一的不同之处在于前者在安装过程中会从互联网下载安装包,而后者直接对本地已下载的安装包进行解压安装。Django安装完成后,在Python交互解释器模式校验安装是否成功:

>>> import django
>>> django.__version__

        Django的目录结构以及含义如下:

        manage.py:命令行工具,内置多种方式与项目进行交互。在命令提示符窗口下,将路径切换到MyDjango项目并输入python manage.py help,可以查看该工具的指令信息。

        __init__.py:初始化文件,一般情况下无须修改。

        asgi.py:开启一个ASGI服务,ASGI是异步网关协议接口。

        settings.py:项目的配置文件,项目的所有功能都需要从该文件里进行配置。

        urls.py:项目的路由设置,设置网站的具体网址内容。

        wsgi.py:全称为Python Web Server Gateway Interface,即Python服务器网关接口,是Python应用与Web服务器之间的接口,用于Django项目在服务器上的部署和上线,一般不需要修改。

        migrations:用于生成数据迁移文件,通过数据迁移文件可自动在数据库里生成相应的数据表。

        __init__.py:index文件夹的初始化文件。

        admin.py:用于设置当前App的后台管理功能。

        apps.py:当前App的配置信息,在Django 1.9版本后自动生成,一般情况下无须修改。

        models.py:定义数据库的映射类,每个类可以关联一张数据表,实现数据持久化,即MTV里面的模型(Model)。

        tests.py:自动化测试的模块,用于实现单元测试。

        views.py:视图文件,处理功能的业务逻辑,即MTV里面的视图(Views)。

 --------------------------------------

没有自由的秩序和没有秩序的自由,同样具有破坏性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/76753.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025阿里云AI 应用-AI Agent 开发新范式-MCP最佳实践-78页.pptx

2025阿里云AI 应用-AI Agent 开发新范式-MCP最佳实践&#xff0c;包含以下内容&#xff1a; 1、AI 应用架构新范式 2、云原生API网关介绍 3、云原生API网关底座核心优势 4、流量网关最佳实践 5、AI 网关代理 LLM 最佳实践 6、MCP网关最佳实践 7、MSE Nacos MCP Server 注册中心…

Pytorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(一)

Pytorch深度学习框架60天进阶学习计划 - 第41天&#xff1a;生成对抗网络进阶&#xff08;一&#xff09; 今天我们将深入探讨生成对抗网络(GAN)的进阶内容&#xff0c;特别是Wasserstein GAN&#xff08;WGAN&#xff09;的梯度惩罚机制&#xff0c;以及条件生成与无监督生成…

大模型到底是怎么产生的?一文了解大模型诞生全过程

前言 大模型到底是怎么产生的呢? 本文将从最基础的概念开始,逐步深入,用通俗易懂的语言为大家揭开大模型的神秘面纱。 大家好,我是大 F,深耕AI算法十余年,互联网大厂核心技术岗。 知行合一,不写水文,喜欢可关注,分享AI算法干货、技术心得。 【专栏介绍】: 欢迎关注《…

五子棋(测试报告)

文章目录 一、项目介绍二、测试用例三、自动化测试用例的部分展示注册登录游戏大厅游戏匹配 总结 一、项目介绍 本项目是一款基于Spring、SpringMVC、MyBatis、WebSocket的双人实时对战五子棋游戏,游戏操作便捷&#xff0c;功能清晰明了。 二、测试用例 三、自动化测试用例的…

idea开发工具多账号使用拉取代码报错问题

设置git不使用凭证管理 把 use credential helper 取消勾选 然后重新pull代码&#xff0c;并勾选remember 这样就可以使用多账号来连接管理代码了

【OpenCV】【XTerminal】talk程序运用和linux进程之间通信程序编写,opencv图像库编程联系

目录 一、talk程序的运用&Linux进程间通信程序的编写 1.1使用talk程序和其他用户交流 1.2用c语言写一个linux进程之间通信&#xff08;聊天&#xff09;的简单程序 1.服务器端程序socket_server.c编写 2.客户端程序socket_client.c编写 3.程序编译与使用 二、编写一个…

【软考系统架构设计师】信息系统基础知识点

1、 信息的特点&#xff1a;客观性&#xff08;真伪性&#xff09;、动态性、层次性、传递性、滞后性、扩压性、分享性 2、 信息化&#xff1a;是指从工业社会到信息社会的演进与变革 3、 信息系统是由计算机硬件、网络和通信设备、计算机软件、信息资源、信息用户和规章制度…

一种基于学习的多尺度方法及其在非弹性碰撞问题中的应用

A learning-based multiscale method and its application to inelastic impact problems 摘要&#xff1a; 我们在工程应用中观察和利用的材料宏观特性&#xff0c;源于电子、原子、缺陷、域等多尺度物理机制间复杂的相互作用。多尺度建模旨在通过利用固有的层次化结构来理解…

基于PyQt5的Jupyter Notebook转Python工具

一、项目背景与核心价值 在数据科学领域,Jupyter Notebook因其交互特性广受欢迎,但在生产环境中通常需要将其转换为标准Python文件。本文介绍一款基于PyQt5开发的桌面级转换工具,具有以下核心价值: 可视化操作:提供友好的GUI界面,告别命令行操作 批量处理:支持目录递归…

图论之并查集——含例题

目录 介绍 秩是什么 例子——快速入门 例题 使用路径压缩&#xff0c;不使用秩合并 使用路径压缩和秩合并 无向图和有向图 介绍 并查集是一种用于 处理不相交集合的合并与查询问题的数据结构。它主要涉及以下基本概念和操作&#xff1a; 基本概念&#xff1a; 集合&…

【数学建模】(智能优化算法)天牛须算法(Beetle Antennae Search, BAS)详解与Python实现

天牛须算法(Beetle Antennae Search, BAS)详解与Python实现 文章目录 天牛须算法(Beetle Antennae Search, BAS)详解与Python实现1. 引言2. 算法原理2.1 基本思想2.2 数学模型 3. Python实现4.实测效果测试1. Michalewicz函数的最小化测试2. Goldstein-Price函数的约束最小化 5…

【家政平台开发(42)】筑牢家政平台安全防线:安全测试与漏洞修复指南

本【家政平台开发】专栏聚焦家政平台从 0 到 1 的全流程打造。从前期需求分析,剖析家政行业现状、挖掘用户需求与梳理功能要点,到系统设计阶段的架构选型、数据库构建,再到开发阶段各模块逐一实现。涵盖移动与 PC 端设计、接口开发及性能优化,测试阶段多维度保障平台质量,…

学习笔记八——内存管理相关

&#x1f4d8; 目录 内存结构基础&#xff1a;栈、堆、数据段Rust 的内存管理机制&#xff08;对比 C/C、Java&#xff09;Drop&#xff1a;Rust 的自动清理机制Deref&#xff1a;为什么 *x 能访问结构体内部值Rc&#xff1a;多个变量“共享一个资源”怎么办&#xff1f;Weak&…

ReliefF 的原理

&#x1f31f; ReliefF 是什么&#xff1f; ReliefF 是一种“基于邻居差异”的特征选择方法&#xff0c;用来评估每个特征对分类任务的贡献大小。 它的核心问题是&#xff1a; “我怎么知道某个特征是不是重要&#xff1f;是不是有能力把不同类别的数据区分开&#xff1f;” 而…

​asm汇编源代码之-汉字点阵字库显示程序源代码下载​

汉字点阵字库显示程序 源代码下载 文本模式下显示16x16点阵汉字库内容的程序(标准16x16字库需要使用CHGHZK转换过后才能使用本程序正常显示) 本程序需要调用file.asm和string.asm中的子程序,所以连接时需要把它们连接进来,如下 C:\> tlink showhzk file string 调用参…

【已更新完毕】2025泰迪杯数据挖掘竞赛B题数学建模思路代码文章教学:基于穿戴装备的身体活动监测

基于穿戴装备的身体活动监测 摘要 本研究基于加速度计采集的活动数据&#xff0c;旨在分析和统计100名志愿者在不同身体活动类别下的时长分布。通过对加速度数据的处理&#xff0c;活动被划分为睡眠、静态活动、低强度、中等强度和高强度五类&#xff0c;进而计算每个志愿者在…

Ubuntu24.04装机安装指南

文章目录 Ubuntu24.04装机安装指南一、分区说明二、基础软件三、使用fcitx5配置中文输入法四、安装搜狗输入法【**不推荐**】1. 安装fcitx2. 安装输入法 五、禁用/home目录下自动生成文件夹六、更新软件源1. 针对**新配置方式**的清华源替换方法2. 针对**老配置方式**的清华源替…

互联网三高-数据库高并发之分库分表ShardingJDBC

1 ShardingJDBC介绍 1.1 常见概念术语 ① 数据节点Node&#xff1a;数据分片的最小单元&#xff0c;由数据源名称和数据表组成 如&#xff1a;ds0.product_order_0 ② 真实表&#xff1a;再分片的数据库中真实存在的物理表 如&#xff1a;product_order_0 ③ 逻辑表&#xff1a…

BM25、BGE以及text2vec-base-chinese的区别

BM25、BGE以及text2vec-base-chinese的区别 BM25 原理:BM25(Best Matching 25)是一种基于概率检索模型的算法,它通过考虑查询词与文档之间的匹配程度、文档的长度等因素,来计算文档对于查询的相关性得分。具体来说,它会给包含查询词次数较多、文档长度适中的文档更高的分…

Python中try用法、内置异常类型与自定义异常类型拓展

目录 try介绍与语法格式try具体使用案例except的异常类型简介案例内置的常见异常类型自定义异常类型继承关系用途 注意事项 try介绍与语法格式 在 Python 里&#xff0c;try 语句主要用于异常处理&#xff0c;其作用是捕获并处理代码运行期间可能出现的异常&#xff0c;避免程…