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

基于Django4.1.4的入门学习记录

基于Django4.1.4的入门学习记录

  • Django
  • 创建Django项目
    • 创建工程
    • 工程目录说明
    • 运行开发服务器
    • settings.py配置文件
  • 应用的创建
    • 创建应用模块
    • 应用模块文件说明
    • App应用配置
    • 注册安装子应用
  • 数据模型
    • ORM概述
    • 定义模型类
    • 生成数据库表
    • 查看数据库文件
  • Admin管理工具
    • 管理界面本地化
    • 创建管理员
    • 注册模型类
    • 操作模型数据
  • 视图和URL
    • 定义视图
    • 配置URLconf
      • 在应用中定义URLconf
      • 在项目中定义URLconf
    • 执行测试
  • 模板
    • 创建模板
    • 设置模板查找路径
    • 模板接收视图传入的数据
    • 模板处理数据
    • 验证模板处理
  • 静态文件

Django

Django是一个基于Python的Web框架,它可以帮助开发人员快速构建高质量的Web应用程序。

在这里插入图片描述

官网:https://www.djangoproject.com/

GitHub:https://github.com/django/django

安装Django

pip install djangopip install django==具体版本号

创建Django项目

创建工程

安装Django之后,就有了可用的管理工具Django-admin。Django-admin是一个命令行工具,用于管理 Django 项目。

常用命令:

startproject: 创建新的 Django 项目startapp: 在现有的 Django 项目中创建新的应用程序runserver: 启动 Django 开发服务器makemigrations: 根据模型更改创建数据库迁移migrate: 应用数据库迁移以更新数据库结构createsuperuser: 创建超级用户test: 运行测试套件shell: 启动 Django shellcollectstatic: 收集静态文件并将其复制到指定目录中dbshell: 启动数据库 shell

项目工程目录可以借助django提供的命令帮助创建

django-admin startproject 工程名称

工程目录说明

创建的工程目录结构如下
在这里插入图片描述
在这里插入图片描述
与项目同名的目录,此处为demo。

manage.py:一个实用的命令行工具,可以各种方式与该 Django项目进行交互__init__.py:一个空文件,告诉 Python 该目录是一个 Python 包asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目manage.py:项目管理文件,通过它管理项目settings.py:项目的整体配置文件urls.py:项目的URL配置文件wsgi.py:项目与WSGI兼容的Web服务器入口

运行开发服务器

django提供了一个纯python编写的轻量级web服务器,仅在开发阶段使用,能够快速预览到开发的效果。默认工作在调式Debug模式下,如果增加、修改、删除文件,服务器会自动重启。

python manage.py runserver ip:端口# 默认IP是127.0.0.1,默认端口为8000
python manage.py runserver
(py3) D:\WorkSpace\Python\demo>python manage.py runserver
Watching for file changes with StatReloader
Performing system checks...System check identified no issues (0 silenced).You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.
December 02, 2022 - 23:41:36
Django version 4.1.3, using settings 'demo.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

访问:http://127.0.0.1:8000/
在这里插入图片描述
若指定IP:端口的形式启动服务,则需要在settings.py配置文件中进行配置,添加允许允许的IP、域名

# 允许那个主机访问后端,是一种安全机制
ALLOWED_HOSTS = ['127.0.0.1','www.test.com']
python manage.py runserver www.test.com:端口python manage.py runserver IP:端口

settings.py配置文件

BASE_DIR

当前工程的根目录,Django根据此配置来定位工程内的相关文件,也可以使用该参数构造文件路径。

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent

DEBUG

调试模式,创建工程后初始值为True,即默认工作在调试模式下。其主要作用就是修改代码文件,程序自动重启,当Django程序出现异常时,向前端显示详细的错误追踪信息。反之非调试模式下,仅返回Server Error (500)

# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True

应用的创建

在开发中通常将工程项目拆分为不同的子功能模块,各功能模块间可以保持相对的独立

创建应用模块

在工程项目目录执行如下命令创建一个子应用模块

python manage.py startapp 子应用名称

子应用模块目录结构如下:

在这里插入图片描述

应用模块文件说明

migrations:目录用于存放数据库迁移历史文件admin.py:文件跟网站的后台管理站点配置相关apps.py:文件用于配置当前子应用的相关信息models.py:文件用户保存数据库模型类tests.py:文件用于开发测试用例,编写单元测试views.py:文件用于编写Web应用视图

App应用配置

在每个应用目录中都包含apps.py文件,它用于保存该应用的相关信息。在创建应用时,Django会向apps.py文件中写入一个该应用的配置类

from django.apps import AppConfigclass UserConfig(AppConfig):default_auto_field = 'django.db.models.BigAutoField'name = 'user'verbose_name = '用户模块'
AppConfig.name:表示这个配置类是加载到哪个应用,每个配置类必须包含此属性,默认自动生成。AppConfig.verbose_name:用于设置该应用的名字,名字在Django提供的Admin管理站点中会显示,默认没有该参数配置。

注册安装子应用

创建出来的子应用目录文件虽然被放到了工程项目目录中,但是django工程并不能立即直接使用该子应用,需要注册安装后才能使用。

打开工程配置文件settings.py,INSTALLED_APPS项保存工程中已经注册安装的子应用,初始工程中的INSTALLED_APPS如下:

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
]

注册安装一个子应用:将子应用的配置信息文件apps.py中的Config类添加到INSTALLED_APPS列表。

INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',# 添加注册子应用# 方式一# '子应用名称.apps.子应用名Config''user.apps.UserConfig',# 方式二# '子应用名称''user',
]

数据模型

Django 对各种数据库提供了统一的调用API,包括:PostgreSQL、MySQL、SQLite、Oracle。

ORM概述

Django 模型使用自带的 ORM。模型是MVT设计模式中的Model, 专门负责和数据库交互,对应models.py文件Model中内嵌了ORM框架, 只需要定义模型类, 通过模型类和对象完成数据库表的增删改查ORM框架就是把数据库表的行与相应的对象建立关联, 互相转换,使得数据库的操作面向对象化对象关系映射(Object Relational Mapping,简称 ORM )用于实现面向对象编程语言里不同类型系统的数据之间的转换。ORM 在业务逻辑层和数据库层之间充当了桥梁的作用。ORM 是通过使用描述对象和数据库之间的映射的元数据,将程序中的对象自动持久化到数据库中。

在这里插入图片描述

定义模型类

# 创建用户信息模型类
class UserInfo(models.Model):# 创建字段 = 字段类型 字段宽度name = models.CharField(max_length=5)age = models.IntegerField(max_length=2)

类名代表了数据库表名,且继承了models.Model,类里面的字段代表数据表中的字段(name),数据类型则由CharField(相当于varchar)、max_length 参数限定长度。

生成数据库表

1.生成迁移文件

生成迁移文件就是根据模型类生成创建表的语句。也是让Django 知道模型有一些变更,对表结构调整。

生成迁移文件之前:

执行命令,生成迁移文件

python manage.py makemigrations
(py3) D:\WorkSpace\Python\demo>python manage.py makemigrations
Migrations for 'user':user\migrations\0001_initial.py- Create model UserInfo

在这里插入图片描述
2.执行迁移

迁移文件生成后执行迁移,就是根据第一步生成的语句在数据库中创建表

python manage.py migrate
(py3) D:\WorkSpace\Python\demo>python manage.py migrate
Operations to perform:Apply all migrations: admin, auth, contenttypes, sessions, user
Running migrations:Applying contenttypes.0001_initial... OKApplying auth.0001_initial... OKApplying admin.0001_initial... OKApplying admin.0002_logentry_remove_auto_add... OKApplying admin.0003_logentry_add_action_flag_choices... OKApplying contenttypes.0002_remove_content_type_name... OKApplying auth.0002_alter_permission_name_max_length... OKApplying auth.0003_alter_user_email_max_length... OKApplying auth.0004_alter_user_username_opts... OKApplying auth.0005_alter_user_last_login_null... OKApplying auth.0006_require_contenttypes_0002... OKApplying auth.0007_alter_validators_add_error_messages... OKApplying auth.0008_alter_user_username_max_length... OKApplying auth.0009_alter_user_last_name_max_length... OKApplying auth.0010_alter_group_name_max_length... OKApplying auth.0011_update_proxy_permissions... OKApplying auth.0012_alter_user_first_name_max_length... OKApplying sessions.0001_initial... OKApplying user.0001_initial... OK

生成db.sqlite3,其默认采用sqlite3数据库来存储数据,由settings.py文件中的DATABASES节点配置

在这里插入图片描述

查看数据库文件

将生成的db.sqlite3文件拖放到Database面板
在这里插入图片描述
添加sqlite的数据源驱动在这里插入图片描述
点击Download下载驱动
在这里插入图片描述
下载驱动后点击应用,然后刷新得到如下数据库表

在这里插入图片描述

Admin管理工具

Django提供了基 web的管理工具。

Django自动管理工具是django.contrib 的一部分。在项目的 settings.py 中的 INSTALLED_APPS

INSTALLED_APPS = ('django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles',
)

管理界面本地化

本地化是将显示的语言、时间等设置成使用本地的习惯

通常是根据使用者所属国家对应语言进行设置,例如:中国大陆地区使用简体中文,时区使用亚洲/上海时区

默认本地化
在这里插入图片描述
设置为中国本地化

# 设置语言:设置中文
LANGUAGE_CODE = 'zh-Hans'
# 设置时区:亚洲上海时区
TIME_ZONE = 'Asia/Shanghai'

创建管理员

执行如下命令创建管理员,接着按提示输入用户名、邮箱、密码等信息

python manage.py createsuperuser
(py3) D:\WorkSpace\Python\demo>python manage.py createsuperuser
用户名 (leave blank to use 'jackchen'): admin
电子邮件地址: admin@oa.com
Password:
Password (again):
密码跟 用户名 太相似了。
密码长度太短。密码必须包含至少 8 个字符。
这个密码太常见了。
Bypass password validation and create user anyway? [y/N]: y
Superuser created successfully.

如果忘记密码,需要重置密码,执行如下命令

python manager.py changepassword 用户名

执行如下命令启动服务

python manage.py runserver

访问 http://127.0.0.1:8000/admin登陆站点
在这里插入图片描述
站点登陆成功后,默认界面如下

在这里插入图片描述

注册模型类

为了让 admin界面管理某个数据模型,需要先注册该数据模型到 admin。Django能够根据定义的模型类自动地生成管理模块。

在admin.py文件中注册模型类,只需要导入对应模型模块:from user.models import UserInfo

from django.contrib import adminfrom user.models import UserInfo# Register your models here.
admin.site.register(UserInfo)

注册模型后,再次访问站点管理后台,在站点管理界面进行方便快速的数据管理
在这里插入图片描述

操作模型数据

可以对模型数据查看、添加、修改、删除

点击增加按钮进入如下界面
在这里插入图片描述
新增一条用户信息,得到如下界面,显示的是一个UserInfo object (1)
在这里插入图片描述
打开models.py文件,修改模型类,使用字符串的方式输出

from django.db import models# Create your models here.
class UserInfo(models.Model):# 创建字段 = 字段类型 字段宽度name = models.CharField(max_length=5)age = models.IntegerField()gender = models.BooleanField()def __str__(self):return self.name

在这里插入图片描述
进行App应用配置,设置Admin管理站点显示设置应用的名字

from django.apps import AppConfigclass UserConfig(AppConfig):default_auto_field = 'django.db.models.BigAutoField'name = 'user'verbose_name = '用户模块'

在这里插入图片描述

视图和URL

一个视图函数,简称视图,是一个简单的 Python 函数,它接受 Web 请求并且返回 Web 响应。

对于Django的设计框架MVT,用户在URL中请求的是视图,视图接收请求后进行处理,并将处理的结果返回给请求者。

响应可以是一个 HTML 页面、一个 404 错误页面、重定向页面、XML 文档、或者一张图片

视图一般放在项目的 views.py 文件中。每个视图函数都负责返回一个 HttpResponse 对象,对象中包含生成的响应。

视图层中有两个重要的对象:请求对象(request)与响应对象(HttpResponse)。

定义视图

1.视图就是一个Python函数,被定义在应用的views.py中

2.需要导入HttpResponse模块 : from django.http import HttpResponse

3.视图第一个参数是HttpRequest类型的对象reqeust,包含所有请求信息

4.视图必须返回HttpResponse对象,包含返回给请求者的响应信息

views.py中定义视图函数

在这里插入图片描述

from django.http import HttpResponse# Create your views here.def userIndex(request):return HttpResponse("test")

配置URLconf

视图的查找过程

1.在浏览器地址栏中输入URL请求网站2.网站获取URL信息3.然后与编写好的URLconf逐条匹配4.如果匹配成功则调用对应的视图5.如果所有的URLconf都没有匹配成功.则返回404错误

打开项目的settings.py文件,可以看到URLconf入口,其指向了项目的urls.py文件
在这里插入图片描述

在应用中定义URLconf

首先在应用中创建urls.py文件,用于定义URLconf。注意:一条URLconf包括URL规则、视图两部分

URL规则使用正则表达式定义视图就是在views.py中定义的视图函数

Django版本差异

Django1.1.x 版本

url() 方法:普通路径和正则路径均可使用,需要自己手动添加正则首位限制符号。
from django.conf.urls import url # 用 url 需要引入urlpatterns = [url(r'^admin/$', admin.site.urls),url(r'^index/$', views.index), # 普通路径url(r'^user/([0-9]{4})/$', views.articles), # 正则路径
]

Django 2.2.x 之后

path:用于普通路径,不需要自己手动添加正则首位限制符号,底层已经添加。re_path:用于正则路径,需要自己手动添加正则首位限制符号

Django path() 可以接收四个参数,分别是两个必选参数:route、view 和两个可选参数:kwargs、name。

语法格式:

path(route, view, kwargs=None, name=None)
route: 字符串,表示 URL 规则,与之匹配的 URL 会执行对应的第二个参数 view。view: 用于执行与正则表达式匹配的 URL 请求。kwargs: 视图使用的字典类型的参数。name: 用来反向获取 URL。
from django.urls import path, re_pathfrom user import viewsurlpatterns = [# 普通路径path('userIndex/', views.userIndex),# 正则路径re_path(r'^', views.userIndex),re_path(r'^index/$', views.index, name='index'),re_path(r'^bio/(?P<username>\w+)/$', views.bio, name='bio'),re_path(r'^weblog/', include('blog.urls')),
]

在项目中定义URLconf

在项目的urls.py文件中配置URLconf,具体如何配置参考Examples说明。

这里统一将访问user/路径分发给user应用

"""demo URL ConfigurationThe `urlpatterns` list routes URLs to views. For more information please see:https://docs.djangoproject.com/en/4.1/topics/http/urls/
Examples:
Function views1. Add an import:  from my_app import views2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views1. Add an import:  from other_app.views import Home2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf1. Import the include() function: from django.urls import include, path2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import adminfrom django.urls import include, pathurlpatterns = [path('admin/', admin.site.urls),# 只要是user/路径则匹配成功path('user/', include('user.urls')),
]

执行测试

访问:http://127.0.0.1:8000/user/userIndex/
在这里插入图片描述

模板

Django中MVT设计模式的T,即为模板Template。

在Django中, 将前端的内容定义在模板中, 然后再把模板交给视图调用

创建模板

在应用同级目录下创建模板文件夹templates,文件夹名称是固定写法在templates文件夹下, 创建应用同名文件夹,例如:user在应用同名文件夹下创建网页模板文件,例如:index.html

在这里插入图片描述

设置模板查找路径

编辑项目目录下的settings.py文件,先导入os模块:import os,然后设置模板查找的路径

在这里插入图片描述

模板接收视图传入的数据

导入render模块,定义视图,准备上下文数据,将上下文数据交给模板处理

在这里插入图片描述

模板处理数据

注释语法:{# 注释内容 #}

通过{{ context的key }}方式获取值定义的上下文数据
在这里插入图片描述

验证模板处理

执行命令:python manage.py runserver启动服务器

访问相应URL,如:http://127.0.0.1:8000/user/userIndex/

在这里插入图片描述

静态文件

项目中的CSS、图片、js都是静态文件。一般会将静态文件放到一个单独的目录中,以方便管理。

Django中提供了一种解析的方式配置静态文件路径。

静态文件可以放在项目根目录下,也可以放在应用的目录下,由于有些静态文件在项目中是通用的,所以推荐放在项目的根目录下,方便管理。

编辑settings.py文件,配置修改静态文件的两个参数:

STATICFILES_DIRS:存放查找静态文件的目录STATIC_URL:访问静态文件的URL前缀
STATIC_URL = '/static/'
STATICFILES_DIRS = [os.path.join(BASE_DIR, 'static'),
]

在项目根目录下创建static目录来保存静态文件。可以添加任何静态文件,例如添加一个index.html文件
在这里插入图片描述
通过访问:http://127.0.0.1:8000/static/文件名方式来访问在static中的静态文件。
在这里插入图片描述

相关文章:

基于Django4.1.4的入门学习记录

基于Django4.1.4的入门学习记录Django创建Django项目创建工程工程目录说明运行开发服务器settings.py配置文件应用的创建创建应用模块应用模块文件说明App应用配置注册安装子应用数据模型ORM概述定义模型类生成数据库表查看数据库文件Admin管理工具管理界面本地化创建管理员注册…...

C++ Butterworth N阶滤波器设计

介绍一个 Butterworth Nth 滤波器设计系数的函数&#xff0c;像 Matlab 函数一样的&#xff1a; [bl,al]butter(but_order,Ws); 和 [bh,ah]butter(but_order,2*bandwidth(1)/fs,high);rtfilter 在 Ububtu 中&#xff0c;容易找到&#xff1a; $ aptitude search ~dbutterwo…...

UXP下不用任何框架创建自己的插件并试运行

在上一篇文章中《Windows下vue框架下的UXP插件开发环境搭建及程序试运行》&#xff0c;搭建的是利用vue框架进行开发的UXP开发环境&#xff0c;而且是把官方的案例插件直接添加进UDT&#xff0c;下面要说的是不利用任何js的框架创建和试运行自己的UXP插件程序&#xff0c;这样来…...

mac修改国内源快速安装brew

我是参考了清华源官网&#xff0c;有任何困惑直接访问该网址即可。这里给出精简版。 1. 更改镜像到~/.zshrc 终端添加方式 echo export HOMEBREW_API_DOMAIN"https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/api" >> ~/.zshrcecho export HOMEBREW_…...

Me-and-My-Girlfriend-1靶场通关

Me-and-My-Girlfriend-1靶场通关 靶机ip:192.168.112.135 信息收集 端口&#xff1a;22、80 还是从80WEB服务器端口入手 对服务器目录进行扫描&#xff0c;扫出以下目录 访问80端口WEB服务&#xff0c;显示一段文字只允许本地用户访问。 一眼伪造ip&#xff0c;查看页面…...

2.6 棋盘覆盖

在一个2*x2‘个方格组成的棋盘中&#xff0c;若怡有一个方格与其他方格不同&#xff0c;则称该方格为特殊方格&#xff0c;且称该棋盘为一特殊棋盘。显然&#xff0c;特殊方格在棋盘上出现的位置有 4种情形因而对任何k0&#xff0c;有4‘种特殊棋盘。图2-4 申的特殊棋益是12时 …...

JMU软件20 大数据技术复习(只写了对比18提纲的变动部分)

原博主 博客主页&#xff1a;https://xiaojujiang.blog.csdn.net/ 原博客链接&#xff1a;https://blog.csdn.net/qq_43058685/article/details/117883940 本复习提纲只适用于JMU软件工程大数据课程&#xff08;ckm授课&#xff09; 具体内容参考老师提纲的考纲&#xff0c;18和…...

MySQL底层存储B-Tree和B+Tree原理分析

1.B-Tree的原理分析 &#xff08;1&#xff09;什么是B-Tree B-树&#xff0c;全称是 Balanced Tree&#xff0c;是一种多路平衡查找树。 一个节点包括多个key (数量看业务)&#xff0c;具有M阶的B树&#xff0c;每个节点最多有M-1个Key。 节点的key元素个数就是指这个节点能…...

基于Vue+Vue-cli+webpack搭建渐进式高可维护性前端实战项目

本文是专栏《手把手带你做一套毕业设计毕业设计》的实战第一篇&#xff0c;将从Vue脚手架安装开始&#xff0c;逐步带你搭建起一套管理系统所需的架构。当然&#xff0c;在默认安装完成之后&#xff0c;会对文件目录进行初步的细化拆分&#xff0c;以便后续功能迭代和维护所用。…...

第十三章:Java反射机制

第十三章&#xff1a;Java反射机制 13.1&#xff1a;Java反射机制概述 Java Reflection ​ Reflection(反射)是被视为动态语言的关键&#xff0c;反射机制允许程序在执行期借助于Reflection API取得任何类的内部信息&#xff0c;并能直接操作任意对象的内部属性及方法。 ​ 加…...

iLok USB不识别怎么办?

我的iLok USB坏了吗&#xff1f; 我的iLok USB没有被系统或软件识别。 如果您的iLok USB未被识别&#xff0c;问题可能出在iLok USB、iLok软件或受保护的软件。 提示如果您使用USB集线器&#xff0c;请确保您使用正确的集线器电源适配器。排除硬件&#xff1a;将iLok USB直接插…...

【LeetCode与《代码随想录》】二叉树篇:做题笔记与总结-JavaScript版

文章目录代码随想录144. 二叉树的前序遍历94. 二叉树的中序遍历145. 二叉树的后序遍历102.二叉树的层序遍历226.翻转二叉树101. 对称二叉树104.二叉树的最大深度111.二叉树的最小深度222.完全二叉树的节点个数110.平衡二叉树257. 二叉树的所有路径404.左叶子之和513.找树左下角…...

机器人运动|浅谈Time Elastic Band算法

前言在自主移动机器人路径规划的学习与开发过程中&#xff0c;我接触到Time Elastic Band算法&#xff0c;并将该算法应用于实际机器人&#xff0c;用于机器人的局部路径规划。在此期间&#xff0c;我也阅读了部分论文、官方文档以及多位大佬的文章&#xff0c;在此对各位大佬的…...

【Linux】网络基础(1)

前言 相信没有网络就没有现在丰富的世界。本篇笔记记录我在Linux系统下学习网络基础部分知识&#xff0c;从关于网络的各种概念和关系开始讲起&#xff0c;逐步架构起对网络的认识&#xff0c;对网络编程相关的认知。 我的上一篇Linux文章呀~ 【Linux】网络套接字编程_柒海啦的…...

限流算法详解

限流是我们经常会碰到的东西&#xff0c;顾名思义就是限制流量。它能保证我们的系统不会被突然的流量打爆&#xff0c;保证系统的稳定运行。像我们生活中&#xff0c;地铁就会有很多护栏&#xff0c;弯弯绕绕的&#xff0c;这个就是一种限流。像我们抢茅台&#xff0c;肯定大部…...

Spark/Hive

Spark/HiveHive 原理Spark with HiveSparkSession Hive Metastorespark-sql CLI Hive MetastoreBeeline Spark Thrift ServerHive on SparkHive 擅长元数据管理Spark 擅长高效的分布式计算 Spark Hive 集成 : Hive on Spark : Hive 用 Spark 作为底层的计算引擎时Spark w…...

HashMap底层的实现原理(JDK8)

目录一、知识点回顾二、HashMap 的 put() 和 get() 的实现2.1 map.put(k, v) 实现原理2.2 map.get(k) 实现原理三、HashMap 的常见面试题3.1 为何随机增删、查询效率都很高&#xff1f;3.2 为什么放在 HashMap 集合 key 部分的元素需要重写 equals 方法?3.3 HashMap 的 key 为…...

操作系统-整理

进程 介绍 进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间&#xff0c;不同进程通过进程间通信来通信。由于进程占据独立的内存&#xff0c;所以上下文进程间的切换开销&#xff08;栈、寄存器、虚拟内存、文件句柄等&#xff09;比较大&#…...

系统换行符的思考

各系统换行符 换行符&#xff0c;也即是回车换行&#xff0c;因为表示为Carriage-Return和Line-Feed。 回车用Return-Carrige表示&#xff0c;简写为CR&#xff0c;字符表示为\r。 换行用Line-Feed表示&#xff0c;简写为LF&#xff0c;字符表示为\n。 由于历史原因&#xf…...

Wwise集成到unreal

1、Wwise集成到Unreal 1.1 安装必要的软件 安装unreal 5.1&#xff1b;安装Audiokinetic Launcher&#xff1b;集成版本是Wwise 2021.1.12.7973。Audiokinetic Launcher下载地址&#xff1a; https://www.audiokinetic.com/zh/thank-you/launcher/windows/?refdownload&pl…...

前端秘籍之=>八股文经卷=>(原生Js篇)【持续更新中...】

大家好&#xff0c;最近想了想&#xff0c;打算总结归纳一版前端八股文经卷&#xff0c;给大家提供学习参考&#xff0c;如果帮助到大家&#xff0c;请大家&#xff0c;一键三连支持一下&#xff0c;你们的支持会激励我更加努力的更新更多有用的知识&#xff0c;博主先在这里谢…...

【Python安装配置教程】

Python由荷兰数学和计算机科学研究学会的吉多范罗苏姆于1990年代初设计&#xff0c;作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构&#xff0c;还能简单有效地面向对象编程。Python语法和动态类型&#xff0c;以及解释型语言的本质&#xff0c;使它成为多数平台…...

Spring-Retry失败重试

文章目录 重试的场景引入依赖启动类serviceController@Retryable参数@Recover注意事项重试的场景 1、网络波动需要,导致请求失败,需要重发。 2、发送消息失败,需要重发,重发失败要记录日志 … 引入依赖 <!-- spring-retry--> <dependency><groupId>or…...

【目标检测 DETR】通俗理解 End-to-End Object Detection with Transformers,值得一品。

文章目录DETR1. 亮点工作1.1 E to E1.2 self-attention1.3 引入位置嵌入向量1.4 消除了候选框生成阶段2. Set Prediction2.1 N个对象2.2 Hungarian algorithm3. 实例剖析4. 代码4.1 配置文件4.1.1 数据集的类别数4.1.2 训练集和验证集的路径4.1.3 图片的大小4.1.4 训练时的批量…...

项目ER图和资料

常用的数据类型 模型类 一对多 from app import db import datetimeclass BaseModel(db.Model):__abstract__ Truecreate_time db.Column(db.DateTime,defaultdatetime.datetime.now())update_time db.Column(db.DateTime,defaultdatetime.datetime.now())class Role(db.M…...

剑指 Offer 20. 表示数值的字符串(java+python)

请实现一个函数用来判断字符串是否表示数值&#xff08;包括整数和小数&#xff09;。 数值&#xff08;按顺序&#xff09;可以分成以下几个部分&#xff1a; 若干空格 一个 小数 或者 整数 &#xff08;可选&#xff09;一个 ‘e’ 或 ‘E’ &#xff0c;后面跟着一个 整数…...

程序员的逆向思维

前要&#xff1a; 为什么你读不懂面试官提问的真实意图&#xff0c;导致很难把问题回答到面试官心坎上? 为什么在面试结束时&#xff0c;你只知道问薪资待遇&#xff0c;不知道如何高质量反问? 作为一名程序员&#xff0c;思维和技能是我们职场生涯中最重要的两个方面。有时候…...

吐血整理学习方法,2年多功能测试成功进阶自动化测试,月薪23k+......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 测试进阶方向 测试进…...

mysql慢查询:pt-query-digest 分析

"某些SQL语句执行效率慢"&#xff0c;这个问题总体上分为两类&#xff1a; 出现了慢查询语句某些查询语句没有使用索引 由于数据的写入量非常大&#xff0c;所以要想直接打开慢查询日志来查看到底哪些语句有问题几乎是不可能的&#xff0c;因为日志的刷新速度太快了…...

git的使用整合

git的下载和安装暂时不论述了&#xff0c;将git安装后会自动配置环境变量&#xff0c;所以环境变量也不需要配置。 一、初始化配置 打开git bash here(使用linux系统下运行的口令)&#xff0c;弹出一个类似于cmd的窗口。 &#xff08;1&#xff09;配置属性 git config --glob…...

网站建网站建设网站站网站/上海关键词seo

为了用事实说明挖掘机技术到底哪家强&#xff0c;PAT组织了一场挖掘机技能大赛。现请你根据比赛结果统计出技术最强的那个学校。 输入格式&#xff1a; 输入在第1行给出不超过105的正整数N&#xff0c;即参赛人数。随后N行&#xff0c;每行给出一位参赛者的信息和成绩&#xf…...

政府网站建设的目的和意义是什么/太原seo外包平台

当导出maven项目到本地时出现错误Repository moved permanently to https://localhost:8443/; please relocate&#xff0c;原因可能是你要导出的项目的路径不在你导出的路径下例如&#xff0c;我的maven服务器是https://localhost:8443/svn/rep 但是我导出时填写的路径是htt…...

工商局网站年检怎么做/马鞍山seo

Hibernate介绍 在javaee中有三层结构 他们分便对应三大框架中不同的一个框架 web层 :使用 struts2框架 service层 :使用 Spring框架 dao层 :使用 Hibernate框架 1.hibernate框架应用在javaee中的三层中的dao层 2.在dao层里面做对数据库crud(意…...

网站框架一般用什么做/谷歌外贸平台

1、数据拷贝基础过程 在Linux系统内部缓存和内存容量都是有限的&#xff0c;更多的数据都是存储在磁盘中。对于Web服务器来说&#xff0c;经常需要从磁盘中读取数据到内存&#xff0c;然后再通过网卡传输给用户&#xff1a; 上述数据流转只是大框&#xff0c;接下来看看几种模…...

做动态网站用哪个程序软件比较简单/阳山网站seo

此文已由作者赵计刚授权网易云社区发布。欢迎访问网易云社区&#xff0c;了解更多网易技术产品运营经验。注&#xff1a;本章代码基于《第五章 企业项目开发--mybatis注解与xml并用》的代码&#xff0c;链接如下&#xff1a;http://www.cnblogs.com/java-zhao/p/5120792.html在…...

b站入口2023已更新/google中文搜索引擎入口

题目&#xff1a;http://poj.org/problem?id3013 求每个点到1的最短路。不是最小生成树。 总是WA。看讨论里说INF至少2e10&#xff0c;于是真的A了&#xff01; 算一下&#xff0c;dis最大可能3276800000&#xff0c;于是开成3276800001&#xff0c;果然可A&#xff01;还快了…...