Django+Vue全栈开发旅游网项目首页

一、前端项目搭建

1、使用脚手架工具搭建项目

2、准备静态资源(图片资源)

将准备好的静态资源拖至public目录下

3、调整生产项目结构

公共的样式

公共js

首页拆解步骤

①分析页面结构

标题、轮播图、本周推荐、精选景点、底部导航

②新建页面组件

③新建对应组件

二、网络请求库axios

步骤:1、了解什么是axios

        2、了解什么是Promise

        3、掌握如何安装axios

        4、掌握如何进行使用axios

1、疑问:为何不能在Vue.js中使用AJAX

        AJAX是通过浏览器后台与服务器通信的技术
        jQuery中的AJAX只是基于jQuery的实现
        在Vue.js中使用jQuery不能充分利用Vue.js的特性

2、什么是axios

        ①基于Promise的HTTP库
        ②支持Node.js和浏览器
                浏览器:XMLHttpRequest
                Node.js: http

3、了解什么是Promise

        关于Promise:一种异步编程解决方案,Promise其实一直都在,只是在ES6时,才被并入标准库,Promise的两个核心函数,then函数和catch函数

4、如何安装axios

使用npm安装:
        安装到dependencies(生产环境依赖)
                ①npm install axios -save
                ②npm install axios -S
        安装到devDependencies(开发环境依赖)
                ①npm install axios --save-dev
                ②npm install axios -D

axios请求响应拦截

        ①了解请求响应拦截的使用场景

        ②掌握如何对请求响应做统一的处理

请求响应拦截的使用场景

        ①设置自定义请求头
        ②默认携带上次的cookie
        ③添加loading动画思路(请求发起前显示、完成后隐藏)
        ④统一的错误处理

请求响应拦截的实现方式

        常用的参数:

                ①headers:设置请求头

                ②timeout:超时的毫秒数

                ③data POST/PUT/PATCH请求的数据

                ④params:URL中的参数

                ⑤responseType:默认为json

统一处理错误:

        400:参数错误提示

        500/504:服务器正忙,网络异常/请求超时

        401:未登录,跳转到登录页面

总结:对axios进行全局配置可提升代码的可维护性

三、前端组件开发

1、VantUI初探

①了解VantUI的使用场景

②掌握Vue项目中相关库/扩展的安装

③掌握VantUI的安装和使用

2、什么是VantUI

轻量、可靠的移动端Vue组件库

3、安装VantUI

npm install vant -S

4、引入VantUI组件

使用其他的UI库也都是相同的思路

5、轮播图组件的开发

①查找Vant中可以使用的组件

②实现组件模板部分

③模型层准备数据

④模拟数据,实现轮播效果

四、总结

Axios 是一个基于 Promise 的 HTTP 客户端,用于浏览器和 node.js 环境。它可以用来发送异步 HTTP 请求(如 GET、POST、PUT、DELETE 等)到 RESTful API 或其他 HTTP 服务。Axios 提供了简单易用的 API,使得发送请求和处理响应变得非常直观。

以下是一些 Axios 的关键特性和功能:

  1. 基于 Promise:Axios 的所有请求都返回一个 Promise 对象,这使得它非常适合与 async/await 语法一起使用,从而实现更简洁和易读的异步代码。

  2. 请求和响应拦截器:你可以添加请求拦截器和响应拦截器,以便在请求发送之前或响应被处理之前执行一些操作,如添加认证 token、处理错误等。

  3. 自动转换 JSON 数据:Axios 会自动将响应内容转换为 JSON 对象(如果响应头中的 Content-Type 表明是 JSON)。

  4. 支持取消请求:你可以使用 CancelToken 来取消请求。

  5. 并发请求:Axios 提供了 axios.all 方法,用于处理并发请求,并在所有请求完成后执行某个操作。

  6. 浏览器和 Node.js 支持:Axios 可以在浏览器和 Node.js 环境中使用,无需修改代码。

  7. 自定义配置:你可以为请求设置默认配置,如 baseURL、超时时间、请求头等。

  8. 防止跨站请求伪造(XSRF):Axios 支持自动发送 XSRF token。

Promise 是 JavaScript 中用于异步编程的一个重要概念。它代表了一个可能现在还不可用,但将来某个时刻会变得可用的值。Promise 对象可以处于以下三种状态之一:

  1. Pending(等待):初始状态,既不是成功,也不是失败状态。
  2. Fulfilled(已成功):意味着操作成功完成。
  3. Rejected(已失败):意味着操作失败。

Promise 提供了 .then() 和 .catch() 方法来处理异步操作成功或失败的情况,以及 .finally() 方法来执行无论成功或失败都需要执行的代码。

使用 .then() 方法可以添加处理成功情况的回调函数,使用 .catch() 方法可以添加处理失败情况的回调函数:

VantUI是一个基于Vue.js的移动端组件库,旨在为开发者提供一套轻量、可靠、高性能的移动端UI组件。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

VAE中的“变分”什么

写在前面 VAE(Variational Autoencoder),中文译为变分自编码器。其中AE(Autoencoder)很好理解。那“变分”指的是什么呢?—其实是“变分推断”。变分推断主要用在VAE的损失函数中,那变分推断是什么&#x…

第十二部分 Java Stream、File

第十二部分 Java Stream、File 12.1 Java Stream流 12.1.1体验Stream流 案例需求 按照下面的要求完成集合的创建和遍历 创建一个集合,存储多个字符串元素把集合中所有以"张"开头的元素存储到一个新的集合把"张"开头的集合中的长度为3的元素存…

OpenTelemetry 实际应用

介绍 OpenTelemetry“动手”指南适用于想要开始使用 OpenTelemetry 的人。 如果您是 OpenTelemetry 的新手,那么我建议您从OpenTelemetry 启动和运行帖子开始,我在其中详细介绍了 OpenTelemetry。 OpenTelemetry开始改变可观察性格局,它提供…

开挖 Domain - 前奏

WPF App 主机配置 Microsot.Extension.Hosting 一键启动(配置文件、依赖注入,日志) // App.xaml.cs 中定义 IHost private readonly IHost _host Host.CreateDefaultBuilder().ConfigureAppConfiguration(c > {_ c.SetBasePath(Envi…

JVM(HotSpot):GC之G1垃圾回收器

文章目录 一、简介二、工作原理三、Young Collection 跨代引用四、大对象问题 一、简介 1、适用场景 同时注重吞吐量(Throughput)和低延迟(Low latency),默认的暂停目标是 200 ms超大堆内存,会将堆划分为…

CentOS 7 上安装 MySQL 8.0 教程

🌟 你好 欢迎来到我的技术小宇宙!🌌 这里不仅是我记录技术点滴的后花园,也是我分享学习心得和项目经验的乐园。📚 无论你是技术小白还是资深大牛,这里总有一些内容能触动你的好奇心。🔍 &#x…

C#使用log4net结合sqlite数据库记录日志

0 前言 为什么要把日志存到数据库里? 因为结构化的数据库存储的日志信息,可以写专门的软件读取历史日志信息,通过各种条件筛选,可操作性极大增强,有这方面需求的开发人员可以考虑。 为什么选择SQLite? …

node和npm

背景(js) 1、为什么js能操作DOM和BOM? 原因:每个浏览器都内置了DOM、BOM这样的API函数 2、浏览器中的js运行环境? v8引擎:负责解析和执行js代码 内置API:由运行环境提供的特殊接口,只能在所…

Java面向对象编程高阶(一)

Java面向对象编程高阶(一) 一、关键字static1、static修饰属性2、静态变量与实例变量的对比3、static修饰方法4、什么时候将属性声明为静态的?5、什么时候将属性声明为静态的?6、代码演示 一、关键字static static用来修饰的结构…

从0到1学习node.js(npm)

文章目录 一、NPM的生产环境与开发环境二、全局安装三、npm安装指定版本的包四、删除包 五、用npm发布一个包六、修改和删除npm包1、修改2、删除 一、NPM的生产环境与开发环境 类型命令补充生产依赖npm i -S uniq-S 等效于 --save -S是默认选项npm i -save uniq包的信息保存在…

首席数据官和首席数据分析官

根据分析人士的预测,首席数据官(CDO)和首席数据分析官(CDAO)必须更有效地展示他们对企业和AI项目的价值,以保障其在高管层的地位。Gartner的最新报告指出,CDO和CDAO在AI时代需要重新塑造自身定位…

HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException

HDFS异常org.apache.hadoop.hdfs.protocol.NSQuotaExceededException 异常信息: Hive:org.apache.hadoop.hdfs.protocol.NSQuotaExceededException: The NameSpace quota (directories and files) of directory /xxxdir is exceeded: quota10000 file count15001N…

【Python】为Pandas加速(适合Pandas中级开发者)

非常好的一篇文章,解决问题的方式和思路层层递进,透彻深刻。 Pandas是个好工具,好工具要用正确高效的方式使用,才能发挥出万钧之力。 英文水平较高可直接阅读原文。Fast, Flexible, Easy and Intuitive: How to Speed Up Your p…

linux创建自定义服务部署项目

1.进入linux单元服务文件夹 cd /etc/systemd/system/ 2.创建一个文件以.service结尾的文件 C#(.Net Core)、 Java、Python等语言,都可以通过linux自定义服务来部署项目,实现守护进程、实现开机自启 2.1例如创建my.service文件 这里以部署python项目为…

新华三H3CNE网络工程师认证—OSPF路由协议

OSPF是典型的链路状态路由协议,是目前业内使用非常广泛的IGP协议之一。本博客将对OSPF路由协议进行总结。 OSPF目前针对IPv4协议使用的是OSPFVersion2(RFC2328); 针对IPv6协议使用OSPFVersion3(RFC2740)。如无特殊说明本章后续所指的OSPF均为OSPF Versi…

HBase2.4.17 修改znode后master初始化失败

正常运行的hbase服务,修改zookeeper.znode.parent后,重启。hbase master服务可以启动成功,但是仅有meta表上线,且hbase:meta表中元数据丢失。仅残留table:state列的值,其他列的值全部丢失。 有大佬知道是怎么回事嘛

(二十四)、在 k8s 中部署自己的 jar 镜像(以 springcloud web 项目为例)

文章目录 1、环境陈述2、前期准备2.1、将一个 SpringCloud 微服务运行 以 jar 方式运行2.2、为 SpringCloud 项目生成 Docker 镜像2.3、推送镜像2.4、从宿主机访问 k8s(minikube) 发布的 redis 服务2.5、k8s(minikube) 部署mysql 3、本期关键3.1、打 jar 包需要修改的地方3.2、…

Anchor DETR:Transformer-Based目标检测的Query设计

写在前面 文中指出之前DETR-like算法存在以下问题: 之前DETR-liked检测算法里,object query是一组可学习的嵌入表示(就是一组256-d的向量),缺乏明确的物理意义,不能解释它们会关注什么地方。每个object q…

禾川SV-X2E A伺服驱动器参数设置——脉冲型

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家!人工智能学习网站 前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任…