Python进阶__多维认知
文章平均质量分 79
Python进阶__多维认知
AlexGeek
这个作者很懒,什么都没留下…
展开
-
DRF中接口数据序列化及分页、过滤、搜索、排序的快速实现
在学习了一段时间DRF后,明显感受到了在Web API搭建的过程中,DRF比Django灵活和迅速很多,DRF中提供了很多强大视图和API,本篇通过一个商品页的小案例记录一下通过试用各种视图及filter之后总结出的一套最简化代码。 在这套代码中,采用了serializer和filter文件与view分离的形式,但都属于一个app文件夹:1.serialize...原创 2018-11-24 20:19:50 · 1672 阅读 · 0 评论 -
Django中F查询及Q查询应用
当一般的查询语句已经无法满足我们的需求时,Django为我们提供了F和Q复杂查询语句。假设场景一:老板说对数据库中所有的商品,在原价格的基础上涨价10元,你该怎么做?场景二:我要查询一个名字叫xxx,年龄是18岁,或者名字是yyy,年龄是是19岁的人,你该怎么写你的ORM语句一、F查询 from django.db.models import Ffrom app01.models ...原创 2018-11-25 19:47:24 · 1118 阅读 · 0 评论 -
Django与MySQL数据库链接的配置问题
在配置Django与MySQL数据库链接的时候遇到过很多坑,找了半天解决方法,终于跑了起来,今天记录一下1.首先新建Django工程,在settings.py中进行初始化配置,同时创建app01python manage.py startapp app01在settings.py中注册app012.在app01目录下的models.py中创建表from django.d...原创 2018-05-02 15:36:19 · 547 阅读 · 0 评论 -
前后端分离模式下JWT用户认证及其在DRF中的应用
在前后端分离开发时为什么需要用户认证呢?原因是由于HTTP协定是不储存状态的(stateless),这意味着当我们透过帐号密码验证一个使用者时,当下一个request请求时它就把刚刚的资料忘了。于是我们的程序就不知道谁是谁,就要再验证一次。所以为了保证系统安全,我们就需要验证用户否处于登录状态。 一、传统的用户认证方式传统认证方式前后端分离通过Restful API进...原创 2018-11-27 17:46:02 · 1824 阅读 · 0 评论 -
Django中通过脚本的方式将json数据写入数据库
这里记录一下django中通过脚本的方式写入json数据的一些技巧。 通过脚本不仅可以将已有的json数据写入数据库,而且可以批量地模拟一些后台数据,方便进行页面的展示。 我们以电商项目中,商品类表,商品信息表两个表的数据导入为例进行分析。 在django中建了一个db_tools的文件夹,将json数据存放在data文件夹中,import...原创 2018-11-15 16:38:22 · 4204 阅读 · 0 评论 -
vue+django跨域问题解决方案(前后端两种方案)
1.Vue前端设置代理(方案一)我们在使用vue-cli启动项目的时候npm run dev便可以启动我们的项目了,通常我们的请求地址是以localhost:8080来请求接口数据的,localhost是没有办法设置cookie的。 我们可以在vue-cli配置文件里面设置一个代理,跨域的方法有很多,通常需要后台来进行配置。我们可以直接通过node.js代理服务器来实现跨域请求。...原创 2018-11-25 19:36:38 · 18664 阅读 · 0 评论 -
Vue使用axios发送post请求,后端无法接收怎么处理?(Djnago后台)
今天终于解决了一个困扰很久的问题,在使用Vue进行前端项目的搭建时,通常采用axios作为数据传输的工具,我们会发现,使用get请求一切都正常,但是使用post请求,会发生一些奇怪的事情。这次我使用的是python的web框架django,但道理都是一样的,我们可以通过修改前端来处理,也可以通过修改后端来处理。一、我们先用GET方法写一个小小的登陆请求:下面是Vue前端的...原创 2018-09-29 20:55:17 · 26110 阅读 · 6 评论 -
Django中CSRF原理及应用详解
Web开发中十分重要的一项内容就是Web安全,在我们进行服务端构建的时候,最常见的几种Web攻击无非是下面的这几种: 1.注入(SQL注入) 2.跨站脚本攻击(XSS) 3.跨站请求伪造(CSRF) 4.开放重定向今天主要就CSRF做一个简单的总结,结合Python Web框架Django 做一个...原创 2018-09-22 14:25:44 · 17144 阅读 · 3 评论 -
Django中Session的应用方法
在Django中默认是支持Session的,在其内部提供了5种类型,供开发者使用数据库(默认) 缓存 文件 缓存+数据库 加密cookie(1)数据库Session Django默认支持Session,并且默认是将Session数据存储在数据库中,即:django_session 表中。 a. 配置 settings.py SESSION_ENGINE = 'd...原创 2018-09-19 11:48:52 · 410 阅读 · 0 评论 -
前端(以Vue为例)webpack打包后dist文件包如何部署到django后台中
由于现在前端使用的三大框架配合webpack可以实现快速打包,为部署到服务端提供了非常大的便利,那么在前端打包后,应该做些什么可以部署到django的后台中呢?1.打包后文件包dist进入到 dist文件包会发现是这个样子的:2.在django项目中创建前端文件包(静态资源包,我习惯起名为frontend) 然后把dist文件包中的static文...原创 2018-10-07 21:51:34 · 21981 阅读 · 1 评论 -
celery在Django3.0中的应用——个人备忘录
写在前面:本文章非完整的技术博客,只用于记录个人开发中遇到的问题,在项目中需求通过api处理爬虫,但由于爬虫的运行时间较长,所以需要 采用异步任务的方式处理请求,因此采用了celery和Django的结合。1.框架版本Python 3.7Django 3.0 +celery 4.4.2redis 3.22.基本视图结构3.需要预先安装的组件及库...原创 2020-04-14 19:29:36 · 791 阅读 · 3 评论 -
使用Scrapy爬取租号玩网站lol待租账号信息(完整代码)
一、项目Githun地址https://github.com/zhonghangAlex/LOLSpider欢迎大家访问下载! 二、LoLSpider 本项目基于scrapy,对租号玩网站的英雄联盟相关出租账号信息进行爬取,并且存取入库,使用随机User-Agent和随机高匿IP(Based on scrapy, this project crawls the rental...原创 2019-01-20 20:32:42 · 3384 阅读 · 2 评论 -
scrapy shell加入user_agent
我们在运用scrapy shell调试的时候,通常会遇到返回的response的状态码为302,这是因为没有加User_Agent的原因。比如爬取拉勾网的时候,没加请求头给我返回302重定向,如图: 所以我们可以在进行scrapy shell 调试的时候,加入User_Agent进行伪装:scrapy shell -s USER_AGENT="Mozilla/5.0 (Windows...原创 2019-01-02 02:40:34 · 940 阅读 · 0 评论 -
爬虫去重策略
我们都知道在获取网站的各层url的过程中,每一层都会有相互指向的url,这样就形成了一个闭合的url网络,那么要想实现爬虫一步步获取url,不陷入死循环,必须进行去重的操作1.将访问过的url保存到数据库中 这种方式是最简单方式,当我们在获取下一个url的时候,就到数据库中查询这个url是否存在,虽然数据库有缓存,但是每个url都从数据库中查找,这样以来效率会非常的低,但是...原创 2018-12-25 17:45:11 · 320 阅读 · 0 评论 -
深度优先和广度优先算法的Python实现(爬虫原理)
构造如下的一个二叉树,简要分析一下,在爬虫应用过程中,对深度优先和广度优先算法的实现: 一、深度优先def depth_tree(tree_node): if tree_node is not None: print(tree_node._data) if tree_node._left is not None: ...原创 2018-12-25 17:17:02 · 1987 阅读 · 1 评论 -
elasticsearch、elasticsearch-head、kibana(dev tools插件)的安装配置
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。我们建立一个网站或应用程序,并要添加搜索功能,但是想要完成搜索工作的创...原创 2019-01-04 18:48:54 · 1512 阅读 · 0 评论 -
基于scrapy框架存储爬虫数据的四种方法(自定义json文件、json export方法、同步存储数据库、异步存储数据库)
最近在学习scrapy爬虫框架,感受到了它的强大之处,在接触各种数据存储方法后,希望进行一个简单的总结。总的来说,爬虫常用的数据存储方法,无非就是保存在本地的json格式化文件或者是数据库中,但在学习的过程中,了解了每种场景中不一样的用法,分别是:自定义json文件、json export方法、同步存储数据库、异步存储数据库四种方法。下面就结合代码简要进行一个介绍。说到数据的存储,了解sc...原创 2018-12-28 23:14:21 · 1234 阅读 · 0 评论 -
Python如何在列表,字典,集合中根据条件筛选数据?
在编程中我们经常遇到下面的一些问题:过滤掉列表[3, 9, -1, 10, 20, -2...]中的负数 筛选出字典{'Lilei': 79, 'Tim': 88, 'Lucy':92...}中的值高于90的项 筛选出集合{77, 89, 32, 20...}中能被3整除的元素 在Python中,通用的做法是直接使用循环迭代:data = [1, 5, -3, -2, 6, ...原创 2018-11-27 13:48:29 · 16657 阅读 · 0 评论 -
实现手机注册——使用Python(DRF应用)接通腾讯云短信服务接口
本篇以注册或者登陆的单次单人发送场景为例,使用Python进行短信接口的调试,从而实现DRF应用的用户注册功能,至于群发或者语音等短信的场景,合此类似,本篇不做完整介绍。一、申请腾讯云签名并创建模板 首先在腾讯云服务中找到短信服务,点击开通,填写基本信息,最后生成如下:其中SDK AppID和App key是在https请求发送是的必要参数。然后需要创建一个签名,签名相当...原创 2018-12-02 15:33:02 · 16009 阅读 · 0 评论