
笔记
文章平均质量分 60
LHL_C
这个作者很懒,什么都没留下…
展开
-
运行Vue项目流程----从“下载“node.js开始
下载node.js node.js官网 下载最新版的node.js windows64位msi安装程序 下载完之后运行 直接next 下一步选择完安装位置,直接一路默认安装 测试安装是否成功 node -vnpm -v12 安装vue-cli,下载全局...转载 2021-06-24 20:53:08 · 285 阅读 · 0 评论 -
Django实战----页面静态化
关于页面静态化前言:因为代码在windows上运行,Linux上的定时任务无法使用,正常来说要把页面静态化的脚本做成定时任务,每过一段时间自动渲染一次,因为MySQL内的数据是会变化的为什么要做页面静态化减少数据库查询次数。提升页面响应效率。具体的做法将动态渲染生成的页面结果保存成html文件,放到静态文件服务器中。用户直接去静态服务器,访问处理好的静态html文件。哪些数据不能静态化处理用户相关数据不能静态化:1.1 用户名、购物车等不能静态化。动态变化的数据不能静态化转载 2021-06-04 16:15:27 · 448 阅读 · 0 评论 -
Django项目实战---搜索引擎Elasticsearch
Elasticsearch的安装从docker的仓库中拉取镜像 sudo docker image pull delron/elasticsearch-ik:2.4.6-1.0修改elasticsearch-2.4.6的配置文件elasticsearch-2.4.6.zip去官方下载retwork.host: 修改为本机ip地址运行搜索引擎服务器sudo docker run -dti --name=elasticsearch --network=host -v /home/ubu转载 2021-06-04 16:09:22 · 277 阅读 · 0 评论 -
Django项目实战----点击商品分类查询出商品和销量排行
点击商品分类查询商品流程用户点击三级分类进入这个分类的商品页并发送一个请求1.1 前端发送的参数有:分类id,页数,一页多少条数据,排序方式后端接收请求和参数前端需要的数据格式3.1 count为总页数去数据库查询这个分类的对象获取这个分类对象的三级分类,前端需要三级分类的名字弄到面包屑导航上查询这个分类对象下的所有的上架商品数据并按前端给的排序方式排序(按照创建时间)创建分页对象组织数据返回数据代码# /list/115/skus/?page=1&page_siz转载 2021-06-04 16:03:08 · 533 阅读 · 0 评论 -
Django项目实战----实现首页频道分类显示和显示fastdfs存储的图片
分析类别数据格式查询商品类别提取到工具包,新建一个py文件from collections import OrderedDictfrom apps.goods.models import GoodsChanneldef get_categories(): # 查询出所有商品频道数据 并按频道组名和组内顺序排序 channels = GoodsChannel.objects.order_by('group_id', 'sequence') # 生成一个自动.转载 2021-06-04 15:59:17 · 167 阅读 · 0 评论 -
Django项目实战----FastDFS文件存储方案
什么是FastDFS1. FastDFS介绍用c语言编写的一款开源的轻量级分布式文件系统。功能包括:文件存储、文件访问(文件上传、文件下载)、文件同步等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标。可以帮助我们搭建一套高性能的文件服务器集群,并提供文件上传、下载等服务。FastDFS架构 包括Client、Tracker server和S转载 2021-06-03 20:08:49 · 316 阅读 · 2 评论 -
Django项目实战 ----用户使用QQ登录
QQ登录流程点击前端QQ登录的请求按钮,弹出扫码页面,用于手机扫码授权如果之前登录过,那么就直接登录成功如果是第一次使用QQ登录,会提示绑定之前的账号或者输入手机号QQ登录流程准备的配置工作点击进入:QQ互联1.进入到QQ互联,创建应用,需要审核,如果域名没有备案,审核不过2.前端准备QQ登录图标点击事件3.准备数据与Django框架进行交互,添加到setting文件 代码如下:# QQ登录参数# 我们申请的 客户端idQQ_CLIENT_ID = 'xxxxxxxxxxxxx原创 2021-04-27 14:56:22 · 293 阅读 · 1 评论 -
SPU和SKU概念
SPU介绍SPU = Standard Product Unit (标准产品单位)概念:SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性,通俗点讲就是属性值、特性相同的货品就可以称为一个SPU。举例:例如绿色的IPhone12就是一个SPU,与商家、颜色、款式、套餐等都无关。SKU介绍SKU = stock keeping unit( 库存量单位)概念:SKU即库存进出计量的单位,可以是以件、盒、托盘等为单位,SKU是物理上不可分割的最小原创 2021-04-23 15:36:11 · 764 阅读 · 1 评论 -
Django项目实战 ----用户个人信息页面
注册保护用户数据 捕获异常在编写程序的时候,程序抛异常是一件很正常的事;既然异常总是会抛,那就想办法在抛出后,尽早解决才是王道。就拿Django来说,通常发生未知异常时,我们会将settings里的DEBUG=False改为True,然后盯着日志看。可谁没事老盯着日志看啊,未免也太浪费时间了;不能老是等待用户反馈异常和问题,万一用户懒得反馈了,岂不很尴尬。在保护用户数据的逻辑代码里面添加上try,最后直接返回JsonResponse# 密码加密 数据保存可能不成功捕获异常# create_原创 2021-04-20 15:00:05 · 1353 阅读 · 1 评论 -
Django项目实战-----发送短信验证码实现celery异步操作(消费者与生产者模式)
什么是消费者与生产者模式?答:生产者生产一个东西放入到队列,消费者就取出来消费使用,生产者与消费者使用队列交互。图解:为什么要使用celery异步操作?答:因为发送短信验证码要去请求第三方平台,是一个耗时操作,如果一个用户请求短信验证码时别的用户就必须等待请求完才能发送下一个请求,所以要使用异步,耗时操作的时候无需等待,直接发送下一个请求celery在Django上使用的官方文档安装celery第三方库-U是下载最新版本 pip install -U Celery项目根目录.转载 2021-04-16 22:43:34 · 285 阅读 · 0 评论 -
Django项目 ----用户状态保持以及发送短信验证码
状态保持获取后端发送过来的用户数据,以cookie的形式存入到浏览器中,当实现用户登录的功能的时候,可以直接获取该数据使用。直接利用Django框架中的login属性进行获取短信验证码测试平台:容联云下载容联云与Python交互的包:pip install ronglian_sms_sdk获取到skd和发送短信的文件:点击该链接直接获取步骤1.将下载好的文件放入到自己的工程目录中2.进入到容联云的官网中登录,根据下载的文件进行填写自己的信息3.填写完善之后直接运行文件是否发送原创 2021-04-15 20:58:24 · 234 阅读 · 0 评论 -
Java中的堆和栈的区别 ----超级无敌顶级理解
大体概述在java中,内存分为俩种,一种是栈内存,另一种就是堆内存。堆内存1.什么是堆内存?堆内存是Java内存中的一种,它的作用是用于存储Java中的对象和数组,当我们new一个对象或者创建一个数组的时候,就会在堆内存中开辟一段空间给他,用于存放。2.堆内存的特点?第一点:堆其实可以类似的看做是管道,或者说是平时去排队买票的情况差不多,所以堆内存的特点就是:先进先出,后进后出,也就是你先排队,好,你先买票。第二点:堆可以动态地分配内存大小,生存期也不必事先告诉编译器,因转载 2021-04-12 21:44:21 · 618 阅读 · 1 评论 -
Java基础学习(五) ----数组进阶
静态创建数组动态和静态创建后,长度都不可改变动态给长度自动赋值默认值,静态给数据不给长度 public static void main(String[] args) { // 动态创建数组 自动分配了默认值 int[] arr01 = new int[10]; // 静态创建 我们给他赋值 只给数据 不给长度 int[] arr02 = new int[]{1,2,3}; System.out.println(arr02[2]);原创 2021-04-12 21:19:18 · 239 阅读 · 0 评论 -
Java基础学习(四) ----for循环和数组
for循环格式for (初始化语句;条件判断语句;条件控制语句) { 循环体语句;} 代码While循环格式while (条件判断语句) { 循环体语句;}dowhile循环格式do { 循环体语句;}while(条件判断语句);dowhile 和while只有在条件第一次不成立的时候 有区别 dowhile会执行一次public static void main(String[] args) { int i = 6;原创 2021-04-12 20:21:56 · 220 阅读 · 1 评论 -
Java基础学习(三) ----运算符
复合赋值运算符底层自带强制转换++ - -逻辑运算符&:与 a&b,a和b都是true,结果为true,否则为false|:或 a|b,a和b都是false,结果为false,否则为true^:异或,a ^ b,a和b结果不同为true,相同为false!:非,!a,结果和a的结果正好相反短路逻辑运算符&& 逻辑与 如果左测为false 右侧不再运算逻辑或 如果左测为true 右侧不再运算三元运算格式:关系表达式 ? 表达式1原创 2021-04-12 16:48:14 · 99 阅读 · 0 评论 -
Java基础学习(二) ----基本数据类型
基本数据类型整数:默认int;byte、short、long浮点数:默认 double、float字符:char布尔:boolean变量的定义格式数据类型 变量名 = 变量的值变量在同一范围内不能重名定义long类型要加L 定义float要加f标识符 定义变量名 类名 方法名字母 数字 下划线 $ 数字不能开头不能是关键字规范自动类型转换小范围类型自动转换为范围的类型byte<short=char<int<long<float<原创 2021-04-12 15:46:35 · 112 阅读 · 0 评论 -
Java基础学习(一) ----环境安装和idea使用
Java版本javase java基础 后面学ee方便javame 开发手机应用 早期 塞班javaee 企业级应用 web后端 ssm环境变量在环境变量中创建新的系统变量 java_home把jdk的bin目录添加到path变量中打开cmd输入javac测试安装成功没有Java第一个程序编译和执行public 公共的 作用 限制 文件名要和类名一样 一个java文件里只能有一会public修饰类main方法 程序入口规范大括号原创 2021-04-12 15:07:18 · 134 阅读 · 1 评论 -
Django项目 ----注册用户时图形验证码
图形验证码captcha uuid的作用接收到生成验证码的请求后,1.在视图里需要生成验证码,然后保存到redis里,uuid就是保存图片验证码的key2.下一次用户请求短信验证码的时候,会把uuid和输入的验证码再次发过来3.我们会根据发过来的uuid去redis里取图片验证码,取出来之后发过来的验证码进行对比创建一个新的子应用进行写视图视图前端 生成uuid 拼接url image src 会自动请求 www.meiduo.site:8000/image_codes/<原创 2021-04-09 17:50:16 · 333 阅读 · 0 评论 -
Django框架 ----跨域CORS
跨域CORS简介CORS需要浏览器和服务器同时支持,整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与AJAX通信没有差别,代码完全一样,现在前端后端分出不同的域名,这就涉及到跨域访问数据的问题,因为浏览器的同源策略,默认是不支持俩个不同域间相互访问数据,而我们需要在俩个域名之间互相传递数据,这时我们就要为后端添加跨域CORS访问的支持。同源就相当于遵守Http协议,只有端口,ip地址,协议,三者有一个不一样,就得使用跨域。CORS的安装与使用1原创 2021-04-09 16:15:21 · 453 阅读 · 1 评论 -
Django框架中隐藏的知识 ----定义模型类
定义模型类Django自带的AsbtractUser包含了常用的用户字段和验证功能我们直接去继承和扩展class User(AbstracUser): mobile = models.CharField(max_length=11,unique=True) class Meta: db_table = 'tb_user verbose_name = '用户' verbose_plural = verbose_name # 复数形式在setting里设置替换Django自带的原创 2021-04-09 14:49:25 · 170 阅读 · 0 评论 -
Vue基础---迈出小白的第一步
Vue介绍Vue.js读音 /vju:/,类似于 view;Vue.js是一个轻巧、高性能、可组件化的MVVM库,同时拥有非常容易上手的API;Vue.js是一套构建用户界面的,渐进式框架通俗的说:Vue.js是一个构建数据驱动的 web 界面的渐进式框架vue.js的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件核心是一个响应的数据绑定系统Vue是前端三大 新框架 之一Vue的作用作为一个js库,可以用它构建Web界面。Vue的特点:1.一个构建数据驱动的we原创 2021-04-02 17:04:15 · 226 阅读 · 1 评论 -
Django框架基础学习(四) ----关联查询和模板使用
获取一对应的多的一方的数据语句:一的对象.多的模型类(小写)_set.all()获取多对应的一的一方的数据直接使用外键关联过滤查询查询一的模型 条件是对多的一方属性进行判断查询英雄是郭靖的书籍条件如果需要关联模型的字段 那么 就使用 关联模型类小写__属性名__条件运算符 = ‘xxx’books = BookInfo.objects.filter(heroinfo__hname='郭靖')books[0]查询图书 书的英雄描述包含 ‘掌’BookInfo.原创 2021-04-01 17:04:38 · 317 阅读 · 1 评论 -
Django框架基础学习(三) ----数据库操作
ORM增删改查添加的俩种方式save()通过模型类保存注意:添加有外键的信息操作如下:herozhu = HeroInfo.objects.create( hname = "猪八戒", hgender = 0, hdesc = 'houhouhou', hbook = book)herosha = HeroInfo.objects.create( hname = "沙悟净", hgender = 1, hdesc = '呵呵', hbook = book)修改数原创 2021-03-30 21:04:56 · 2141 阅读 · 4 评论 -
Django框架交互Mysql数据库配置(冲破bug)
数据库配置如果配置里用的是ip地址访问需要修改mysql库里的user表里的User字段为root的那条数据的Host字段为%,如下图:修改命令: update mysql.user set host = '%' where user = 'root'; 如果此上命令执行失败,就执行下面的: grant ALL on . to root@% with grant option; flush privileges;安装mysqlclientpip install mysqlc原创 2021-03-29 21:12:08 · 161 阅读 · 1 评论 -
Django框架基础学习(二)
1.反解析获取地址步骤:1.总路由urls里给应用添加别名2.子应用里给单独的视图起别名3.在视图中用reverse获取对应的地址4.postman测试2.自定义中间件步骤:1.在工程目录下创建mymiddleware文件(文件名随意)2.在该文件里写中间件类 继承MiddlewareMixin 注意执行顺序:程序开始执行,首先执行process_request方法,请求传递后执行这个方法,再等视图执行前执行process_view方法,它在process_re原创 2021-03-29 20:17:00 · 113 阅读 · 0 评论 -
Django框架基础学习(一)
1.获取表单数据步骤:创建类视图from django.views import Viewclass FromDataView(View): # 注意:获取的数表单数据所以用POST def post(self,request): name = request.POST.get('name') age = request.POST.get('age') return HttpResponse('{}---{}',format(name,age))注册视图原创 2021-03-29 15:59:27 · 161 阅读 · 1 评论 -
Django 知识库:as_view()解析
Django 有函数视图和类视图,分别是这样用的:# 函数视图path(..., function_view, ...)# 类视图path(..., ClassView.as_view(), ...)源码:来一步步分解。as_view() 是个类方法,它的第一个参数 cls 表示类本身,跟实例方法的 self 差不多,都是自动传入的。进入 as_view() 后首先对传入的参数做简单的校验,避免传入的参数将类自己的关键函数名覆盖掉,或者传入类中没定义的属性。开头这个 for 循环就是干这转载 2021-03-25 20:27:06 · 5204 阅读 · 3 评论 -
Django框架基础搭建流程
1.搭建虚拟环境安装虚拟环境的命令:sudo pip install virtualenvsudo pip install virtualenvwrapper使用环境变量mkvirtualenv -p python3 虚拟环境名称例 :mkvirtualenv -p python3 py3_django查看虚拟环境命令workon使用虚拟环境workon 虚拟环境名称例 :使用py3_django的虚拟环境workon py3_django2.创建原创 2021-03-25 15:49:46 · 169 阅读 · 0 评论 -
Django框架介绍
Django介绍1.简介Django,发音为[`dʒæŋɡəʊ],是用python语言写的开源web开发框架,并遵循MVC设计。劳伦斯出版集团为了开发以新闻内容为主的网站,而开发出来了这个框架,于2005年7月在BSD许可证下发布。这个名称来源于比利时的爵士音乐家DjangoReinhardt,他是一个吉普赛人,主要以演奏吉它为主,还演奏过小提琴等。由于Django在近年来的迅速发展,应用越来越广泛,被著名IT开发杂志SDTimes评选为2013SDTimes100,位列"API、库和框架"分类第6位转载 2021-03-25 14:59:43 · 463 阅读 · 0 评论 -
Mysql数据库部分面试题
为什么要使用数据库?数据保存在内存优点:存取速度快缺点:数据不能永远保存数据保存文件优点:数据永远保存缺点:1)速度比内存操作慢,频繁的IO操作。2)查询数据不方便数据保存在数据库1)数据永远保存2)使用sql语句,查询方便效率高3)管路数据方便什么是SQL?结构化查询语言,是一种数据库查询语言。作用:用于存取数据、查询、更新和管理关系数据库系统。数据库三大范式是什么?第一范式:每一个列都不可以拆分。第二范式:在第一范式的基础上,非主键列完全依赖于主键,而不能是依赖于主键的一转载 2020-12-17 14:59:19 · 104 阅读 · 0 评论 -
windows开启Mongodb服务
打开cmd(命令窗口),切换到Mongodb安装目录下的 “bin” 目录中。输入命令:cd F:\MongoDb\bin启动服务。输入命令:mongod --dbpath F:\MongoDb\data注:–dbpath是指定数据库存放目录,要注意dbpath前面有俩个 “–”。命令窗口中打印一些启动信息,则表示启动成功。如下图所示:到此为止,mongodb服务已启动成功,关闭命令窗口即可关闭mongodb服务。...原创 2020-12-15 20:22:27 · 369 阅读 · 0 评论 -
HTTP协议、HTTP服务器、MiniWeb框架
协议、ip、端口协议:通俗的说就是双方之间的约定网络协议:就是计算机之间沟通数据的协议常见的网络协议:UDP、TCP、IP、HTTP(s)、ARP、RARP、SMTP、FTP、TFTP概念MAC地址:就是一个序列号标记了网卡的地址IP地址:一个序列号标记了逻辑上的一台电脑PORT端口:标记电脑上的软件端口注意点:TCP、UDP是2套协议,一次都可以用同一个数值的端口(2425)...原创 2020-09-16 20:19:51 · 269 阅读 · 1 评论