Django框架
小廖同学
个人博客网址http://xiaoliaozi.com/
上面记录了自己学习的一些笔记
欢迎大家访问
展开
-
Django定时任务
Django定时任务在Django执行定时任务,可以通过django-crontab扩展来实现安装 django-crontabpip install django-crontab注册 django-crontab 应用INSTALLED_APPS = [ 'django_crontab', # 定时任务]设置定时任务定时时间基本格式 :* *...原创 2019-11-20 08:47:10 · 292 阅读 · 0 评论 -
CORS跨域和同源策略
CORS跨域和同源策略同源策略先来说说什么是源• 源(origin)就是协议、域名和端口号。以上url中的源就是:http://www.company.com:80若地址里面的协议、域名和端口号均相同则属于同源。以下是相对于 http://www.a.com/test/index.html 的同源检测• http://www.a.com/dir/page.html ----成...原创 2019-11-19 09:03:11 · 480 阅读 · 1 评论 -
JWT 认证机制与session认证机制比较
JWT 认证机制与session认证机制比较session认证机制我们知道,http协议本身是一种无状态的协议,而这就意味着如果用户向我们的应用提供了用户名和密码来进行用户认证,那么下一次请求时,用户还要再一次进行用户认证才行,因为根据http协议,我们并不能知道是哪个用户发出的请求,所以为了让我们的应用能识别是哪个用户发出的请求,我们只能在服务器存储一份用户登录的信息,这份登录信息会在响...原创 2019-11-17 17:03:22 · 230 阅读 · 0 评论 -
Session认证机制
Session认证机制状态保持浏览器请求服务器是无状态的。无状态:指一次用户请求时,浏览器、服务器无法知道之前这个用户做过什么,每次请求都是一次新的请求。无状态原因:浏览器与服务器是使用Socket套接字进行通信的,服务器将请求结果返回给浏览器之后,会关闭当前的Socket连接,而且服务器也会在处理页面完毕之后销毁页面对象。有时需要保持下来用户浏览的状态,比如用户是否登录过,浏览过...原创 2019-11-17 16:57:04 · 453 阅读 · 0 评论 -
JWT认证机制
JWT认证机制应用场景前后端分离开发该如何记录用户的登录状态JWT token认证机制JSON Web Token(JWT)是目前前后端分离开发中用户身份认证最流行的一种解决方案。在用户登录后,我们想记录用户的登录状态,这里不再使用Session认证机制,而使用Json Web Token认证机制。JWT token认证机制类似于http协议也是无状态的,它不需要在服务端去保留用户...原创 2019-11-17 16:15:42 · 365 阅读 · 0 评论 -
Django中的事务
Django中的事务使用场景在保存订单数据时,涉及到多张表(OrderInfo、OrderGoods、SKU、SPU)的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败。Django中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。所以我们需要在保存订单中自己控制数据库事务的执行流程Django中事务的使用方案在Django中可以通过d...原创 2019-11-17 14:50:27 · 456 阅读 · 0 评论 -
Django实现Celery
异步方案Celery机制场景发送短信验证码我们的代码是自上而下同步执行的,发送短信是耗时的操作。如果短信被阻塞住,用户响应将会延迟,响应延迟会造成用户界面的倒计时延迟。异步发送短信,发送短信和响应分开执行,将发送短信从主业务中解耦出来。发送邮箱链接激活邮箱发送邮箱验证邮件是耗时的操作,所以需要异步发送邮件,使用Celery实现异步任务。并发下单问题在多个用户同时发起对...原创 2019-10-22 16:51:36 · 468 阅读 · 1 评论 -
乐观锁并发下单
乐观锁并发下单场景在多个用户同时发起对同一个商品的下单请求时,先查询商品库存,再修改商品库存,会出现资源竞争问题,导致库存的最终结果出现异常解决办法悲观锁当查询某条记录时,即让数据库为该记录加锁,锁住记录后别人无法操作,使用类似如下语法select stock from tb_sku where id=1 for update;SKU.objects.select_f...原创 2019-10-21 23:42:13 · 278 阅读 · 0 评论 -
Django实现QQ登录
软件开发之实现QQ登录问题:为什么实现QQ登录? QQ登录:即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目。QQ互联开发者申请若想实现QQ登录,需要成为QQ互联的开发者,审核通过才可实现相关连接:QQ互联开发者申请QQ互联应用申请成为QQ互联开发者后,还需创建应用,即获取本项目对应与QQ互联的应用ID。相关连接:ht...原创 2019-11-08 15:33:25 · 636 阅读 · 0 评论 -
页面静态化
页面静态化场景: 当某个页面(例如首页)访问频繁,而且查询数据量大,其中还有大量的循环处理,用户访问首页会耗费服务器大量的资源,并且响应数据的效率会大大降低。解决: 页面静态化页面静态化为什么要做页面静态化减少数据库查询次数。提升页面响应效率(减少页面渲染)结论:当页面变化不太频繁时可以将页面渲染成一个静态文件,以后用户访问的时候,直接通过nginx去...原创 2019-10-23 22:21:37 · 1159 阅读 · 0 评论 -
Elasticsearch搜索引擎
Elasticsearch搜索引擎使用场景当用户在搜索框输入商品关键字后,我们要为用户提供相关的商品搜索结果。解决方案:商品搜索实现可以选择使用模糊查询like关键字实现。但是 like 关键字的效率极低。查询需要在多个字段中进行,使用 like 关键字也不方便全文检索方案我们引入全文检索的方案来实现商品搜索。全文检索即在指定的任意字段中进行检索查询。...原创 2019-10-22 15:23:26 · 227 阅读 · 0 评论 -
Haystack
Haystack1.Haystack介绍Haystack 是在Django中对接搜索引擎的框架,搭建了用户和搜索引擎之间的沟通桥梁。我们在Django中可以通过使用 Haystack 来调用 Elasticsearch 搜索引擎。Haystack 可以在不修改代码的情况下使用不同的搜索后端(比如 Elasticsearch、Whoosh、Solr等等)。2.Haystack安装...原创 2019-10-22 15:22:31 · 488 阅读 · 0 评论 -
Django模型中的关联查询
Django模型中的关联查询一对多(外键约束) 一对多,是最常见的一种设计。就是 A 表的一条记录,对应 B 表的多条记录,且 A 的主键作为 B 表的外键。这主要看以哪张表为中心,以上示例以 A 表为中心,就是一对多,如果以 B 表为中心,则是多对一一到多的访问语法(一对应的模型类对象).(多对应的模型类名小写)_set例:书籍表(BookInfo)-- 书籍人物信息表(P...原创 2019-10-21 19:46:59 · 537 阅读 · 0 评论 -
Django之视图view
Django之视图view试图介绍和项目准备视图介绍:视图就是应用中views.py文件中的函数视图的第一个参数必须为HttpRequest对象还可能包含下参数如通过正则表达式组获取的位置参数通过正则表达式组获得的关键字参数视图必须返回一个HttpResponse对象或子对象作为响应子对象: JsonResponse HttpResponse...原创 2019-09-19 14:04:48 · 392 阅读 · 0 评论 -
web框架之Django
web框架和Django流程1.web框架要点1.Web应用程序处理流程2.Web应用程序框架的意义用于搭建Web应用程序免去不同Web应用相同代码部分的重复编写,只需关心Web应用核心的业务逻辑实现3.web应用程序的本质接收并解析HTTP请求,获取具体的请求信息处理本次HTTP请求,即完成本次请求的业务逻辑处理构造并返回处理结果——HTTP响应4.web框架学习方...原创 2019-09-14 21:34:40 · 237 阅读 · 0 评论 -
django模型model
django模型详解MVT图解项目准备创建项目django-admin startproject bookmanager创建应用python manager.py startapp book更换python解释器:按需选择# 进入指定虚拟环境which python# python3/home/python/.virtualenvs/py3_dj...原创 2019-09-14 18:22:13 · 203 阅读 · 0 评论