自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 Django中的contenttypes框架之巧妙运用->Timeline应用

上一篇博客 : 理解Django的通用外键 -> GenericForeignKey, GenericRelation什么是Timeline设计?很多博客与问答网站,首页内容都是来自不同模块,让不同模块的内容在首页实现发表时间顺序排列,就是Timeline设计ps : 大型公司都有用户画像系统与推荐算法,并不适用Timeline设计使用contenttype,使不同模块内容按照时...

2020-04-16 10:22:18 213

原创 理解Django的通用外键 -> GenericForeignKey, GenericRelation

使用django-admin startproject {项目名}后,# settings.pyDJANGO_APPS = [ ... "django.contrib.contenttypes", ...]并且在生成数据库时,会生成一张django_content_type表,如下所示idapp_labelmodel1xxxxxx2……3...

2020-04-15 19:50:24 1803 1

原创 Django之通用类视图DetailView

本文参考于Django2.2文档视图函数(或简称视图)只是一个Python函数,它接受Web请求并返回Web响应。该响应可以是网页的HTML内容,重定向,404错误,XML文档或图像。。。真的。视图本身包含返回该响应所需的任何任意逻辑。该代码可以存在于您想要的任何地方,只要它在Python路径上即可。可以说,没有其他要求-没有“魔术”。为了将代码放在某处,约定是将视图放在一个名为的文件中vie...

2020-04-13 11:38:26 1352

原创 python之装饰器,多重装饰器,多层函数装饰器

理解装饰器之前先要理解闭包闭包定义:在一个函数内部的函数,同时内部函数又引用了外部函数的变量。本质:闭包是将内部函数和外部函数的执行环境绑定在一起的对象。优点:内部函数可以使用外部变量。 缺点:外部变量一直存在于内存中,不会在调用结束后释放,占用内存。作用:实现python装饰器。闭包三要素:– 必须有一个内嵌函数。– 内嵌函数必须引用外部函数中变量。– 外部函...

2020-04-08 10:51:31 403

原创 Mysql索引

原文链接 https://www.jianshu.com/p/c82148473235一、MySQL中索引的语法创建索引在创建表的时候添加索引CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 在创建表以后添加索引ALTER TABLE my_table ADD [UNIQUE] IND

2020-07-01 15:45:24 174

原创 初识Django Rest Framework

认证Authentication什么是身份认证身份验证是将传入请求与一组标识凭据(例如请求来自的用户或与其签名的令牌)关联的机制。视图的最开始处运行身份验证在权限和限制检查发生之前,以及在允许继续执行任何其他代码之前,始终在视图的最开始处运行身份验证。身份验证方案总是定义为类的列表REST框架尝试对列表中的每个类进行身份验证,并将成功身份验证的第一个类的返回值赋值给request.user request.auth。 如果没有类身份验证,则request.user将设置为django.

2020-06-30 14:48:20 200

原创 理解Flask-Login的运作方式

用户登录过程设计以下步骤:用户点击Login链接,eg: http://localhost:5000/auth/login。使用GET请求处理这个URL函数并返回登录表单模板。用户输入用户名和密码,点击提交按钮。再次调用相同处理函数,这次处理的是POST请求a. 处理函数验证通过表单提交的依据,然后调用Flask-login的login_user()函数,登入函数b. login_user()函数讲用户ID以字符串形式写入用户会话c. 视图函数重定向到指定的登录后跳转页面,例如首页浏览器收到重

2020-06-08 12:09:22 240

转载 来点前端爬虫!~

原文来自 : https://segmentfault.com/a/1190000014811373?utm_source=tag-newest一个简单的百度新闻爬虫确定爬取对象(网站/页面)百度新闻 (http://news.baidu.com/)确定开发语言、框架、工具等node.js (express) + WebStormLet’s start初始化package.json新建项目目录BaiduNewsSpider在DOS命令行中进入项目根目录 baiduNews执.

2020-05-15 11:32:10 958

原创 Flask之强大的first_or_404

基础用法:在Flask框架内,使用SQLAlchemy 来进行ORM数据库查询,示例如下:# 从User表中查询数据user = User.query.filter_by(username="张三").first()这种写法,需要自己对结果进行判空:# 从User表中查询数据user = User.query.filter_by(username="张三").first()if user: # do something但是,Flask提供了更为便捷的方法:first_or_404us

2020-05-09 21:18:18 1178

原创 python基础之迭代器与lamba表达式

迭代每一次对过程的重复称为一次“迭代”,而每一次迭代得到的结果会作为下一次迭代的初始值。例如:循环获取容器中的元素。可迭代对象iterable具有__iter__函数的对象,可以返回迭代器对象。对list、tuple、dict、set、str等类型的数据可以通过for…in…这类语句迭代读取一条数据供我们使用的对象称之为可迭代对象(Iterable)。 class 可迭代对象名称...

2020-04-18 16:26:08 495

原创 浅谈面向对象

什么是对象?将对象看做是一个特别的变量,它是一个可以存储数据的东西,除此之外,你还可以要求它在自身上进行操作。理论上而言,万物皆对象,可以抽取待求解的任何概念化构件,例如猫、狗、建筑物、衣服等等。我们可以将他们表示成为程序中的对象。通常情况下, 对象是指一块能存储数据并具有某种类型的内存空间。什么是面向对象?把现实世界里的具体物体或者逻辑世界的逻辑物体,用抽象手段,把这些物体抽象成程序...

2020-04-17 22:29:48 145

原创 理解Python的多继承MRO

什么是MROMethod Resolution Order , 定义了Python中多继承存在的情况下,解释器查找函数解析的具体顺序什么是函数解析顺序# 经典继承问题 - 棱形继承class A: def who_am_i(self): print("i am A")class B: passclass C: def who_am_i(sel...

2020-04-06 15:22:27 173

原创 Flask之app.config

配置处理您可能需要根据应用程序环境更改不同的设置,例如切换调试模式,设置密钥以及其他此类特定于环境的操作。Flask的设计方式通常要求配置在应用程序启动时可用。您可以在代码中对配置进行硬编码,这对于许多小型应用程序实际上并不那么糟糕,但是有更好的方法。与如何加载配置无关,有一个可用的配置对象保存已加载的配置值: 对象的config属性Flask。这是Flask本身放置某些配置值的地方,也是扩...

2020-04-06 15:03:07 2242

原创 TCP与UDP

OSI与TCP/IP模型应用层,直接和应用程序接口并提供常见的网络应用服务。应用层也向表示层发出请求。为应用进程提供服务的。在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务表示层向上对应用层服务,向下接受来自会话层的服务。表示层为在应用过程之间传送的信息提供表示方法的服务,它只关心信息发出的语法和语义。会话层(Session),建立在传输层之上,利用传输层提供的服务,使...

2020-04-06 15:00:18 212

原创 Nginx学习

基础操作安装 :yum -y install install nginx查看版本: nginx -v启动 : sudo nginx # 启动浏览器,输入服务器地址,看见Welcome to Nginx则说明安装成功快速停止:sudo nginx -s stop # -s 表示往nginx里发送信号退出:sudo nginx -s quit # 比stop 优雅重新加载配置文件 : s...

2020-03-29 10:45:36 151

原创 git学习

Git的安装官网地址: https://git-scm.com/download/win命名行控制器:Git bash配置用户信息git config --global user.name "自己名字"git config --global user.email "自己邮箱"查看配置是否成功: git config --list初始化仓库 git init添加文件到版本库 ...

2020-03-29 10:40:23 117

原创 Center7 OS安装mysql 8.0.19和redis

使用yum安装mysql下载mysql yum源:wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm安装yum源:yum install mysql80-community-release-el7-1.noarch.rpm更新yum源:yum clean all ...

2020-01-09 14:00:59 154

原创 从购买云主机,Xshell连接,到安装python3.7.2

Let’s start!购买一个月体验云主机网址:https://free.aliyun.com/ntms/free/personal.html支付宝注册,登录,按流程下单购买,最后安装CentOS 7.6 64位系统成功购买后进入实例设置系统root账户的密码修改实例属性,给主机换个名字重启让改动生效点击远程连接,并记住远程连接密码!再次点击远程连接,并输入密码...

2019-12-07 14:33:00 473

原创 学习Django之学习篇01

今天向此网站学习 - Django 开发内容管理系统:https://code.ziqiangxuetang.com/django/django-cms-develop.html记录不懂的知识,记录犯下的错误,沉淀&总结不懂的知识Q: 别人源码中写着 from __future__ import unicode_literalsA: 在Python中有些库的接口要求参数必须...

2019-11-08 21:27:30 124

原创 使用多线程爬取笔趣阁

今日目标:新笔趣阁的全部小说目录爬取分析:暂无任何严重反爬爬取思路:Step1:从base网页获取所有小说名字+小说链接Step2:请求小说链接,获得章节名+章节链接Step3:请求章节链接,获得小说内容Step4:根据小说名字创建文件,持久化保存小说内容技术分析:01:采用requests库,进行验证请求02:文件读取操作需要用到os模块03:解析文件使用xpath0...

2019-11-07 11:52:52 537

原创 记一次js逆向解析学习-02

我是向 菜鸟学Python编程-公众号文章学习。本文重点是自己记录学习心得,沉淀细节。请勿用于其他用途!首先今天目标是:https://bbs.nubia.cn/01复制步骤原文如下:打开Chrome浏览器,地址栏输入网址,并按下F12,打开调试器,再按下回车,进行访问。(如果之前访问过这个网站,还请在 Application面板里面清除掉相关的缓存和记录。)注意此处,先输入链...

2019-11-05 15:25:01 1128

原创 学习《流畅的Python学习》- 笔记03

2.8.1 用bisect来搜索import bisectimport sysHAYSTACK = [1, 4, 5, 6, 8, 12, 15, 20, 21, 23, 23, 26, 29, 30]NEEDLES = [0, 1, 2, 5, 8, 10, 22, 23, 29, 30, 31]ROW_FMT = '{0:2d} @ {1:2d} {2}{0:<2d}'...

2019-10-31 16:54:20 187

原创 学习《流畅的Python学习》- 笔记02

1.2.2 字符串表示形式repr的用处。Python 有一个内置的函数叫 repr,它能把一个对象用字符串的形式表 达出来以便辨认,这就是“字符串表示形式”。repr 就是通过 repr 这个特殊方法来得到一个对象的字符串表示形式的。如果没有实现 repr,当我们在控制台里打印一个向量的实例时,得到的字符串 可能会是 <Vector object at 0x10e100070>。...

2019-10-31 10:17:47 110

原创 学习《流畅的Python学习》- 笔记01

1.1节 一摞Python风格的纸牌本节代码如下:import collectionsCard = collections.namedtuple('Card', ['rank', 'suit'])class FrenchDeck: ranks = [str(n) for n in range(2, 11)] + list('JQKA') suits = 'spades...

2019-10-30 19:15:47 200

原创 记一次爬虫-js逆向解析学习

在 NightTeam微信公众号上看见大佬一篇文章听说你碰到这种反爬就歇菜了?手把手教你秒杀它!大佬具体扣代码没写,很是受伤,于是自己摸索了大半天,捋顺了大部分逻辑,写出来分享一下ps:发送消息「隐式Style-CSS」到大佬微信公众号「NightTeam」即可获取样例地址~前面分析,大神写的非常详细,具体看大神写的就好观察与分析977行和1133行代码977处代码定义了变量_0x...

2019-10-20 10:58:57 578 1

原创 代码实现百度翻译爬虫

import requestsimport reimport execjsclass BaiduSpider(object): def __init__(self): self.token_url = 'https://fanyi.baidu.com/?aldtype=16047' self.post_url = 'https://fanyi.bai...

2019-10-05 17:26:58 706

原创 百度翻译爬虫-使用execjs库逆向解析百度翻译

本文目标破解百度翻译接口,抓取翻译结果数据废话不多说直接开始检查页面使用Chrome浏览器打开百度翻译,观察界面。右键查看源代码,发现密密麻麻全是看不懂JS代码,初步判定为是异步加载页面。初步测试打开开发者工具,进行抓包。随意输入中文测试,结果如下图:再次多输入几次单词,进行验证,结果返回类型同上分析抓到的包经过多个包对比,发现表单数据中的sign和token,随着单词不...

2019-10-05 14:23:01 527

原创 Win10+Anaconda1.9.7+Pycharm2019.1.3安装selenium,以及解决Pycharm下selenium导入报错和selenium包安装不上问题

本文基于日前最新环境:Win10+Anaconda1.9.7+Pycharm2019.1.3Anaconda官网下载较慢,建议在清华大学开源软件镜像站下载(注意系统环境,x64系统选择Windows-x86_64.exe下载)在Windows下安装好Anaconda,并配置好环境变量(最新版本会自动帮你设置好,不过还是要检查一下)如果没有如图所示的环境变量,那么需要手动添加。进入安装盘...

2019-09-18 10:28:05 1007

原创 Ubuntu下安装Pygame,以及pycharm导入pygame包

1. 在linux系统中检查是否安装了pip/pip3打开终端输入命令:pip --version如果终端返回:Command 'pip' not found, but can be installed with:sudo apt install python-pip则没有安装pip打开终端输入命令:pip3 --version如果已安装则返回以下结果(版本可能不同)pi...

2019-06-21 10:00:24 3509 3

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除