快速上手

Web开发的早期阶段,开发者需要手动编写每个页面,例如一个新闻门户网站,每天都要修改它的HTML页面,随着网站规模和体量的增大,这种方式就变得极度糟糕。为了解决这个问题,开发人员想到了用外部程序来为Web服务器生成动态内容,也就是说HTML页面以及页面中的动态内容不再通过手动编写而是通过程序自动生成。最早的时候,这项技术被称为CGI(公共网关接口),当然随着时间的推移,CGI暴露出的问题也越来越多,例如大量重复的样板代码,总体性能较为低下等,因此在时代呼唤新英雄的背景下,PHP、ASP、JSP这类Web应用开发技术在上世纪90年代中后期如雨后春笋般涌现。通常我们说的Web应用是指通过浏览器来访问网络资源的应用程序,因为浏览器的普及性以及易用性,Web应用使用起来方便简单,免除了安装和更新应用程序带来的麻烦,而且也不用关心用户到底用的是什么操作系统,甚至不用区分是PC端还是移动端。

Web应用机制和术语

下图向我们展示了Web应用的工作流程,其中涉及到的术语如下表所示。

说明:相信有经验的读者会发现,这张图中其实还少了很多东西,例如反向代理服务器、数据库服务器、防火墙等,而且图中的每个节点在实际项目部署时可能是一组节点组成的集群。当然,如果你对这些没有什么概念也不要紧,继续下去就行了,后面会给大家一一讲解的。

术语解释
URL/URI统一资源定位符/统一资源标识符,网络资源的唯一标识
域名与Web服务器地址对应的一个易于记忆的字符串名字
DNS域名解析服务,可以将域名转换成对应的IP地址
IP地址网络上的主机的身份标识,通过IP地址可以区分不同的主机
HTTP超文本传输协议,构建在TCP之上的应用级协议,万维网数据通信的基础
反向代理代理客户端向服务器发出请求,然后将服务器返回的资源返回给客户端
Web服务器接受HTTP请求,然后返回HTML文件、纯文本文件、图像等资源给请求者
Nginx高性能的Web服务器,也可以用作反向代理,负载均衡 和 HTTP缓存

HTTP协议

这里我们稍微费一些笔墨来谈谈上面提到的HTTP。HTTP(超文本传输协议)是构建于TCP(传输控制协议)之上应用级协议,它利用了TCP提供的可靠的传输服务实现了Web应用中的数据交换。按照维基百科上的介绍,设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法,也就是说这个协议是浏览器和Web服务器之间传输的数据的载体。关于这个协议的详细信息以及目前的发展状况,大家可以阅读阮一峰老师的《HTTP 协议入门》、《互联网协议入门》系列以及《图解HTTPS协议》进行了解。下图是我在四川省网络通信技术重点实验室学习和工作期间使用开源协议分析工具Ethereal(抓包工具WireShark的前身)截取的访问百度首页时的HTTP请求和响应的报文(协议数据),由于Ethereal截取的是经过网络适配器的数据,因此可以清晰的看到从物理链路层到应用层的协议数据。

Django概述

Python的Web框架有上百个,比它的关键字还要多。所谓Web框架,就是用于开发Web服务器端应用的基础设施,说得通俗一点就是一系列封装好的模块和工具。事实上,即便没有Web框架,我们仍然可以通过socket或CGI来开发Web服务器端应用,但是这样做的成本和代价在商业项目中通常是不能接受的。通过Web框架,我们可以化繁为简,降低创建、更新、扩展应用程序的工作量。刚才我们说到Python有上百个Web框架,这些框架包括Django、Flask、Tornado、Sanic、Pyramid、Bottle、Web2py、web.py等。

在上述Python的Web框架中,Django无疑是最有代表性的重量级选手,开发者可以基于Django快速的开发可靠的Web应用程序,因为它减少了Web开发中不必要的开销,对常用的设计和开发模式进行了封装,并对MVC架构提供了支持(Django中称之为MTV架构)。许多成功的网站和应用都是基于Django框架构建的,国内比较有代表性的网站包括:知乎、豆瓣网、果壳网、搜狐闪电邮箱、101围棋网、海报时尚网、背书吧、堆糖、手机搜狐网、咕咚、爱福窝、果库等。

在这里插入图片描述

Django诞生于2003年,它是一个在真正的应用中成长起来的项目,由劳伦斯出版集团旗下在线新闻网站的内容管理系统(CMS)研发团队编写(主要是Adrian Holovaty和Simon Willison),以比利时的吉普赛爵士吉他手Django Reinhardt来命名,在2005年夏天作为开源框架发布。使用Django能用很短的时间构建出功能完备的网站,因为它代替程序员完成了所有乏味和重复的劳动,剩下真正有意义的核心业务给程序员,这一点就是对DRY(Don’t Repeat Yourself)理念的最好践行。

快速上手

准备工作

  1. 检查Python环境:Django 1.11需要Python 2.7或Python 3.4以上的版本;Django 2.0需要Python 3.4以上的版本;Django 2.1需要Python 3.5以上的版本。

    说明:我自己平时使用macOS和Linux系统做开发,macOS和Linux系统在命令的使用上跟Windows系统还是有一些差别,如果使用Windows平台做开发,要使用Windows平台对应的命令。

    $ python3 --version
    
    $ python3
    >>> import sys
    >>> sys.version
    >>> sys.version_info
    
  2. 更新包管理工具并安装Django管理工具。

    $ pip3 install -U pip
    $ pip3 install django
    
  3. 使用Django管理工具创建Django项目(项目名称为hellodjango)。

    $ django-admin startproject hellodjango
    

    说明:上面使用了Python自带的venv模块完成了虚拟环境的创建,当然也可以使用virtualenv或pipenv这样的工具。要激活虚拟环境,在Windows环境下可以通过"venv/Scripts/activate"执行批处理文件来实现。

  4. 进入项目文件夹,创建并激活虚拟环境。

    $ cd hellodjango
    $ python3 -m venv venv
    $ source venv/bin/activate
    

    提示:上面使用了Python 3自带的venv模块来创建虚拟环境,当然也可以使用如virtualenv这样的三方工具来创建虚拟环境;激活虚拟环境后请注意终端中提示符的变化,在虚拟环境下使用Python解释器和包管理工具时,对应的命令是pythonpip,而不再需要键入python3pip3

  5. 在虚拟环境中安装项目依赖项。

    (venv)$ pip install django mysqlclient django-redis pillow requests
    

    提示:使用pip安装三方库时,可以通过如django==1.11.27的方式来指定三方库的版本。

    下图展示了Django版本和Python版本的对应关系,如果在安装时没有指定版本号,将自动选择最新的版本(在写作这段内容时,Django最新的版本是2.2)。

    Django版本Python版本
    1.82.7、3.2、3.3、3.4、3.5
    1.9、1.102.7、3.4、3.5
    1.112.7、3.4、3.5、3.6、3.7
    2.03.4、3.5、3.6、3.7
    2.1、2.23.5、3.6、3.7

    刚才创建的Django项目其文件和文件夹如下所示:

    • manage.py: 一个让你可以管理Django项目的工具程序。
    • hellodjango/__init__.py:一个空文件,告诉Python解释器这个目录应该被视为一个Python的包。
    • hellodjango/settings.py:Django项目的配置文件。
    • hellodjango/urls.py:Django项目的URL声明(URL映射),就像是你的网站的“目录”。
    • hellodjango/wsgi.py:项目运行在WSGI兼容Web服务器上的接口文件。

    说明:WSGI全称是Web服务器网关接口,维基百科上给出的解释是“为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口”。

  6. 启动Django自带的服务器运行项目。

    (venv)$ python manage.py runserver
    

    在浏览器中输入http://127.0.0.1:8000访问我们的服务器,效果如下图所示。

    说明1:刚刚启动的是Django自带的用于开发和测试的服务器,它是一个用纯Python编写的轻量级Web服务器,但它并不是真正意义上的生产级别的服务器,千万不要将这个服务器用于和生产环境相关的任何地方。

    说明2:用于开发的服务器在需要的情况下会对每一次的访问请求重新载入一遍Python代码。所以你不需要为了让修改的代码生效而频繁的重新启动服务器。然而,一些动作,比如添加新文件,将不会触发自动重新加载,这时你得自己手动重启服务器。

    说明3:可以通过python manage.py help命令查看可用命令列表;在启动服务器时,也可以通过python manage.py runserver 1.2.3.4:5678来指定将服务器运行于哪个IP地址和端口。

    说明4:可以通过Ctrl+C来终止服务器的运行。

在这里插入图片描述

  1. 修改项目的配置文件settings.py,Django是一个支持国际化和本地化的框架,因此刚才我们看到的默认首页也是支持国际化的,我们将默认语言修改为中文,时区设置为东八区。

    (venv)$ vim hellodjango/settings.py
    
    # 此处省略上面的内容# 设置语言代码
    LANGUAGE_CODE = 'zh-hans'
    # 设置时区
    TIME_ZONE = 'Asia/Chongqing'# 此处省略下面的内容
    

    刷新刚才的页面,可以看到修改语言代码和时区之后的结果。
    在这里插入图片描述

动态页面

  1. 创建名为hrs(人力资源系统)的应用,一个Django项目可以包含一个或多个应用。

    (venv)$ python manage.py startapp hrs
    

    执行上面的命令会在当前路径下创建hrs目录,其目录结构如下所示:

    • __init__.py:一个空文件,告诉Python解释器这个目录应该被视为一个Python的包。
    • admin.py:可以用来注册模型,用于在Django的管理界面管理模型。
    • apps.py:当前应用的配置文件。
    • migrations:存放与模型有关的数据库迁移信息。
      • __init__.py:一个空文件,告诉Python解释器这个目录应该被视为一个Python的包。
    • models.py:存放应用的数据模型,即实体类及其之间的关系(MVC/MTV中的M)。
    • tests.py:包含测试应用各项功能的测试类和测试函数。
    • views.py:处理请求并返回响应的函数(MVC中的C,MTV中的V)。
  2. 修改应用目录下的视图文件views.py。

    (venv)$ vim hrs/views.py
    
    from django.http import HttpResponsedef index(request):return HttpResponse('<h1>Hello, Django!</h1>')
    
  3. 在应用目录创建一个urls.py文件并映射URL。

    (venv)$ touch hrs/urls.py
    (venv)$ vim hrs/urls.py
    
    from django.urls import pathfrom hrs import viewsurlpatterns = [path('', views.index, name='index'),
    ]
    

    说明:上面使用的path函数是Django 2.x中新添加的函数,除此之外还可以使用支持正则表达式的URL映射函数re_path函数;Django 1.x中是用名为url函数来设定URL映射。

  4. 修改项目目录下的urls.py文件,对应用中设定的URL进行合并。

    (venv) $ vim oa/urls.py
    
    from django.contrib import admin
    from django.urls import path, includeurlpatterns = [path('admin/', admin.site.urls),path('hrs/', include('hrs.urls')),
    ]
    

    说明:上面的代码通过include函数将hrs应用中配置URL的文件包含到项目的URL配置中,并映射到hrs/路径下。

  5. 重新运行项目,并打开浏览器中访问http://localhost:8000/hrs。

    (venv)$ python manage.py runserver
    
  6. 修改views.py生成动态内容。

    (venv)$ vim hrs/views.py
    
    from io import StringIOfrom django.http import HttpResponsedepts_list = [{'no': 10, 'name': '财务部', 'location': '北京'},{'no': 20, 'name': '研发部', 'location': '成都'},{'no': 30, 'name': '销售部', 'location': '上海'},
    ]def index(request):output = StringIO()output.write('<html>\n')output.write('<head>\n')output.write('\t<meta charset="utf-8">\n')output.write('\t<title>首页</title>')output.write('</head>\n')output.write('<body>\n')output.write('\t<h1>部门信息</h1>\n')output.write('\t<hr>\n')output.write('\t<table>\n')output.write('\t\t<tr>\n')output.write('\t\t\t<th width=120>部门编号</th>\n')output.write('\t\t\t<th width=180>部门名称</th>\n')output.write('\t\t\t<th width=180>所在地</th>\n')output.write('\t\t</tr>\n')for dept in depts_list:output.write('\t\t<tr>\n')output.write(f'\t\t\t<td align=center>{dept["no"]}</td>\n')output.write(f'\t\t\t<td align=center>{dept["name"]}</td>\n')output.write(f'\t\t\t<td align=center>{dept["location"]}</td>\n')output.write('\t\t</tr>\n')output.write('\t</table>\n')output.write('</body>\n')output.write('</html>\n')return HttpResponse(output.getvalue())
    
  7. 刷新页面查看程序的运行结果。

在这里插入图片描述

使用视图模板

上面通过拼接HTML代码的方式生成动态视图的做法在实际开发中是无能接受的,这一点大家一定能够想到。为了解决这个问题,我们可以提前准备一个模板页,所谓模板页就是一个带占位符的HTML页面,当我们将程序中获得的数据替换掉页面中的占位符时,一个动态页面就产生了。

我们可以用Django框架中template模块的Template类创建模板对象,通过模板对象的render方法实现对模板的渲染,在Django框架中还有一个名为render的便捷函数可以来完成渲染模板的操作。所谓的渲染就是用数据替换掉模板页中的占位符,当然这里的渲染称为后端渲染,即在服务器端完成页面的渲染再输出到浏览器中,这种做法的主要坏处是当并发访问量较大时,服务器会承受较大的负担,所以今天有很多的Web应用都使用了前端渲染,即服务器只提供所需的数据(通常是JSON格式),在浏览器中通过JavaScript获取这些数据并渲染到页面上,这个我们在后面的内容中会讲到。

  1. 先回到manage.py文件所在的目录创建名为templates文件夹。

    (venv)$ mkdir templates
    
  2. 创建模板页index.html。

    (venv)$ touch templates/index.html
    (venv)$ vim templates/index.html
    
    <!DOCTYPE html>
    <html lang="en">
    <head><meta charset="UTF-8"><title>首页</title>
    </head>
    <body><h1>部门信息</h1><hr><table><tr><th>部门编号</th><th>部门名称</th><th>所在地</th></tr>{% for dept in depts_list %}<tr><td>{{ dept.no }}</td><td>{{ dept.name }}</td><td>{{ dept.location }}</td><tr>{% endfor %}</table>
    </body>
    </html>
    

    在上面的模板页中我们使用了{{ greeting }}这样的模板占位符语法,也使用了{% for %}这样的模板指令,这些都是Django模板语言(DTL)的一部分。如果对此不熟悉并不要紧,我们会在后续的内容中进一步的讲解,而且我们刚才也说到了,渲染页面还有更好的选择就是使用前端渲染,当然这是后话。

  3. 回到应用目录,修改views.py文件。

    (venv)$ vim hrs/views.py
    
    from django.shortcuts import renderdepts_list = [{'no': 10, 'name': '财务部', 'location': '北京'},{'no': 20, 'name': '研发部', 'location': '成都'},{'no': 30, 'name': '销售部', 'location': '上海'},
    ]def index(request):return render(request, 'index.html', {'depts_list': depts_list})
    

    说明:Django框架通过shortcuts模块的便捷函数render简化了渲染模板的操作,有了这个函数,就不用先创建Template对象再去调用render方法。。

    到此为止,我们还没有办法让views.py中的render函数找到模板文件index.html,为此我们需要修改settings.py文件,配置模板文件所在的路径。

  4. 切换到项目目录修改settings.py文件。

    (venv)$ vim oa/settings.py
    
    # 此处省略上面的内容TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates','DIRS': [os.path.join(BASE_DIR, 'templates')],'APP_DIRS': True,'OPTIONS': {'context_processors': ['django.template.context_processors.debug','django.template.context_processors.request','django.contrib.auth.context_processors.auth','django.contrib.messages.context_processors.messages',],},},
    ]# 此处省略下面的内容
    
  5. 重新运行项目或直接刷新页面查看结果。

    (venv)$ python manage.py runserver
    

总结

至此,我们已经利用Django框架完成了一个非常小的Web应用,虽然它并没有任何的实际价值,但是可以通过这个项目对Django框架有一个感性的认识。当然,实际开发中我们可以用PyCharm来创建项目,如果使用专业版的PyCharm,可以直接创建Django项目。使用PyCharm的好处在于编写代码时可以获得代码提示、错误修复、自动导入等功能,从而提升开发效率,但是专业版的PyCharm需要按年支付相应的费用,社区版的PyCharm中并未包含对Django框架直接的支持,但是我们仍然可以使用它来创建Django项目,只是在使用上没有专业版的方便。关于PyCharm的使用,可以参考《玩转PyCharm》一文。此外,Django最好的学习资料肯定是它的官方文档,当然图灵社区出版的《Django基础教程》也是非常适合初学者的入门级读物。

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

相关文章

  1. Nmap学习9 - 服务版本、操作系统探测

    Nmap学习9 - 服务版本、操作系统探测服务版本、操作系统探测-sV 服务版本探测-sO 操作系统探测服务版本、操作系统探测 把Nmap指向一个远程机器&#xff0c;它可能告诉您 端口25/tcp&#xff0c;80/tcp&#xff0c;和53/udp是开放的。使用包含大约2,200个著名的服务的 nmap-se…...

    2024/4/14 16:56:45
  2. Logstash配置详解---ElasticStack(ELK)工作笔记020

    然后我们再来看一下logstash的配置,可以看到就有3个部分 可以配置,输入,过滤,和输出 输入可以配置从rabbitmq输入,从redis输入,等都可以,从beats输入也行 然后filter这里,就是数据的实时解析,转换 就是数据可以实时的通过logstash解析转换...

    2024/5/1 14:34:44
  3. 编译原理三大经典龙书 虎书 鲸书 编译原理第三版清华pdf 清华北大

    1、龙书&#xff08;Dragon book&#xff09; 英文名&#xff1a;Compilers: Principles,Techniques,and Tools 作者&#xff1a;Alfred V.Aho,Ravi Sethi,Jeffrey D.Ullman 中文名&#xff1a;编译原理技术和工具 2、虎书&#xff08;Tiger book&#xff09; 英文名&…...

    2024/4/13 3:53:33
  4. 《算法基础》素数判定

    目录 1、LeetCode——866. 回文素数 2、LeetCode——剑指 Offer 49. 丑数 1、LeetCode——866. 回文素数 求出大于或等于 N 的最小回文素数。 回顾一下&#xff0c;如果一个数大于 1&#xff0c;且其因数只有 1 和它自身&#xff0c;那么这个数是素数。 例如&#xff0c;2&am…...

    2024/4/19 14:41:33
  5. Centos8修改源

    1、备份CentOS-Linux-BaseOS.repo mv /etc/yum.repos.d/CentOS-Linux-BaseOS.repo /etc/yum.repos.d/CentOS-Linux-BaseOS.repo.backup 2、获取 阿里yum 配置文件 wget -O /etc/yum.repos.d/CentOS-Linux-BaseOS.repo http://mirrors.aliyun.com/repo/Centos-8.repo 3、修改…...

    2024/5/2 11:17:37
  6. Kafka消息存储机制

    Kafka 消息以 Partition 作为存储单元&#xff0c;那么在 Partition 那消息是以什么样的格式存储的呢&#xff0c;如何处理 Partition 中的消息&#xff0c;又有哪些安全策略来保证消息不会丢失呢&#xff0c;这一篇我们一起看看这些问题。 Partition 文件存储方式# 每个 Top…...

    2024/4/19 18:43:54
  7. 生活富能量第六期

    为什么人类的烹饪文化中&#xff0c;盐是主要调味品&#xff0c;而不是糖&#xff1f; 有三个主要原因&#xff0c;第一个可以提味增鲜&#xff0c; 第二个易于提取保存&#xff0c;“煮海为盐”我想大家都听过。 第三个我认为也是最重要的一个原因就是 盐对于人体机能的重要性…...

    2024/4/16 1:47:00
  8. 使用transform实现元素的水平垂直居中

    使用transform实现元素的水平垂直居中 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><meta http-equiv"…...

    2024/4/14 0:53:13
  9. 55、Flutter核心原理--Element、BuildContext和RenderObject

    Element 我们知道最终的UI树其实是由一个个独立的Element节点构成。组件最终的Layout、渲染都是通过RenderObject来完成的&#xff0c;从创建到渲染的大体流程是&#xff1a;根据Widget生成Element&#xff0c;然后创建相应的RenderObject并关联到Element.renderObject属性上&a…...

    2024/4/13 3:53:13
  10. RHCSA第三天作业

    1、总结出vim的三个模式中你认为实用的命令 1&#xff09;末行模式下&#xff1a;set nu---显示行号 2&#xff09;命令模式下u---撤销操作 3&#xff09;命令模式下/word---自上而下查找字符串‘word’ 2、文件管理命令练习&#xff1a; 在/opt目录下创建一个临时目录tmp&…...

    2024/4/23 19:07:32
  11. LeetCode第280场周赛

    &#x1f4d2;博客首页&#xff1a;崇尚学技术的科班人 &#x1f363;今天给大家带来的文章是《LeetCode第280场周赛》&#x1f363; &#x1f363;希望各位小伙伴们能够耐心的读完这篇文章&#x1f363; &#x1f64f;博主也在学习阶段&#xff0c;如若发现问题&#xff0c;请…...

    2024/4/14 3:14:58
  12. liunx下安装Nginx服务

    系统平台&#xff1a;CentOS Linux release 7.9.2009 (Core) 64位 一、安装 PCRE 在/data下创建目录&#xff1a;/data/pcre 并把 pcre-8.32.tar.gz 上传到此目录下 [rootMiWiFi-R3-srv /]# mkdir pcre [rootMiWiFi-R3-srv /]# cd /data/pcre 解压 [rootMiWiFi-R3-srv pcre]#…...

    2024/4/30 5:25:07
  13. Apache Calcite的解析与优化

    Apache Calcite的解析与优化 文章目录Apache Calcite的解析与优化背景Calcite概述关系代数解析parse: SqlText > SqlNodevalidate: SqlNode > SqlNoderel: SqlNode > RelNode RexNode基于规则的优化-RBO谓词下推投影下推基于代价的优化-CBO自底向上自顶向下总结参考资…...

    2024/4/17 10:14:09
  14. 债权人死亡后债权人家属追债是否需要还

    依据《民法典》的规定&#xff0c;债权人死亡后&#xff0c;债权人亲属如果是继承人&#xff0c;继承了债权的&#xff0c;继承人成为债权人&#xff0c;向债务人追讨债权的&#xff0c;债务人要承担偿还债权的责任。关于债权人死亡后债权人家属追债是否需要还的问题&#xff0…...

    2024/4/24 1:17:10
  15. ubuntu下的能安装的百度网盘的资源最新网址

    Index of /deepin/pool/non-free/d/deepin.com.baidu.pan/...

    2024/5/2 10:22:32
  16. CSS之BFC浅析

    CSS之BFC浅析前言一、BFC是什么&#xff1f;二、产生BFC的条件三、BFC的约束规则结语前言 无意间看到一个web前端面试场景&#xff0c;面试官询问你了解BFC吗&#xff1f; 此时我懵了&#xff0c;转职前端也一年有余了&#xff0c;BFC第一次听说&#xff0c;真是羞愧呀&#x1…...

    2024/5/2 16:52:59
  17. Redis做活跃用户统计利器之HyperLoglog

    前言 网站经常有这样的需求&#xff1a;统计日活用户数&#xff0c;有哪些实现方式呢&#xff1f; 使用 1、用redis的set集合。 用户登录以后&#xff0c;把用户id添加到redis的set中&#xff0c;set会自动进行去重&#xff0c;类似于这样&#xff1a; 127.0.0.1:6379> s…...

    2024/4/19 23:42:49
  18. 中国煤矿机械再制造运行现状与发展趋势预测报告2022-2028年

    中国煤矿机械再制造运行现状与发展趋势预测报告2022-2028年 详情内容请咨询鸿晟信合研究院&#xff01; 【全新修订】&#xff1a;2022年2月 【撰写单位】&#xff1a;鸿晟信合研究研究【报告目录】 第1章 中国再制造产业发展综述 24 1.1 再制造产业界定 24 1.1.1 再制造基本内…...

    2024/4/19 13:47:41
  19. STM32 SPI获取磁性角度传感器AS5048A角度数据

    STM32 SPI获取磁性角度传感器AS5048A角度数据 AS5048A是14位精度的磁性角度检测传感器&#xff0c;采用SPI接口。实际上稳定精度还是只有12位&#xff0c;也就是在检测环境静止情况下&#xff0c;数据输出的最后两位在变化而不恒定。AS5048A可用于旋转角度检测如旋转编码器等&…...

    2024/4/24 9:36:08
  20. Vue 过滤器、计算属性、侦听器 图解版 一目了然

    文章目录本篇学习目标1. vue基础1.0_vue基础 v-for更新监测1.1_vue基础_v-for就地更新1.2_vue基础_虚拟dom1.3_vue基础_diff算法情况1: 根元素变了, 删除重建情况2: 根元素没变, 属性改变, 元素复用, 更新属性1.4_vue基础_diff算法-key情况3: 根元素没变, 子元素没变, 元素内容…...

    2024/4/13 3:54:34

最新文章

  1. PHP源码_最新在线工具箱网站系统源码

    项目运行截图 源码贡献 https://githubs.xyz/boot?app41 部分数据库表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for toolbox_category -- ---------------------------- DROP TABLE IF EXISTS toolbox_category…...

    2024/5/3 2:28:46
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. C++ typeid运算符介绍

    在 C 中&#xff0c;typeid() 是一个运算符&#xff0c;用于获取表达式的类型信息。typeid() 运算符在 C 中是一个强大的工具&#xff0c;可以用于获取对象的类型信息、类型比较、多态类型判断、异常处理以及类型转换安全检查等场景中。 1. 类型比较&#xff1a; 可以使用 ty…...

    2024/5/1 3:39:06
  4. 解决npm install安装node-sass包容易失败的问题

    具体问题如下&#xff1a; npm ERR! code ERESOLVE npm ERR! ERESOLVE unable to resolve dependency tree npm ERR! npm ERR! While resolving: XXX3.4.0 npm ERR! Found: webpack5.31.2 npm ERR! node_modules/webpack npm ERR! peer webpack”^4.0.0 || ^5.0.0″ from html-…...

    2024/5/2 18:30:38
  5. 数据挖掘中的PCA和KMeans:Airbnb房源案例研究

    目录 一、PCA简介 二、数据集概览 三、数据预处理步骤 四、PCA申请 五、KMeans 聚类 六、PCA成分分析 七、逆变换 八、质心分析 九、结论 十、深入探究 10.1 第 1 步&#xff1a;确定 PCA 组件的最佳数量 10.2 第 2 步&#xff1a;使用 9 个组件重做 PCA 10.3 解释 PCA 加载和特…...

    2024/5/1 13:14:26
  6. 【外汇早评】美通胀数据走低,美元调整

    原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...

    2024/5/1 17:30:59
  7. 【原油贵金属周评】原油多头拥挤,价格调整

    原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...

    2024/5/2 16:16:39
  8. 【外汇周评】靓丽非农不及疲软通胀影响

    原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...

    2024/4/29 2:29:43
  9. 【原油贵金属早评】库存继续增加,油价收跌

    原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...

    2024/5/2 9:28:15
  10. 【外汇早评】日本央行会议纪要不改日元强势

    原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...

    2024/4/27 17:58:04
  11. 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响

    原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...

    2024/4/27 14:22:49
  12. 【外汇早评】美欲与伊朗重谈协议

    原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...

    2024/4/28 1:28:33
  13. 【原油贵金属早评】波动率飙升,市场情绪动荡

    原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...

    2024/4/30 9:43:09
  14. 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试

    原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...

    2024/4/27 17:59:30
  15. 【原油贵金属早评】市场情绪继续恶化,黄金上破

    原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...

    2024/5/2 15:04:34
  16. 【外汇早评】美伊僵持,风险情绪继续升温

    原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...

    2024/4/28 1:34:08
  17. 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势

    原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...

    2024/4/26 19:03:37
  18. 氧生福地 玩美北湖(上)——为时光守候两千年

    原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...

    2024/4/29 20:46:55
  19. 氧生福地 玩美北湖(中)——永春梯田里的美与鲜

    原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...

    2024/4/30 22:21:04
  20. 氧生福地 玩美北湖(下)——奔跑吧骚年!

    原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...

    2024/5/1 4:32:01
  21. 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!

    原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...

    2024/4/27 23:24:42
  22. 「发现」铁皮石斛仙草之神奇功效用于医用面膜

    原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...

    2024/4/28 5:48:52
  23. 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者

    原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...

    2024/4/30 9:42:22
  24. 广州械字号面膜生产厂家OEM/ODM4项须知!

    原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...

    2024/5/2 9:07:46
  25. 械字号医用眼膜缓解用眼过度到底有无作用?

    原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...

    2024/4/30 9:42:49
  26. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  27. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  28. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  29. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  30. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  31. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  32. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  33. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  34. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  35. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  36. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  37. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  38. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  39. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  40. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  41. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  42. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  43. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  44. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  45. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57