Flask框架(flask-script扩展命令行和flask中数据库migrate扩展的使用)

flask-script扩展命令行 1. 安装 : pip install Flask-Script 2. 在程序中 from flask_script import Manager '''Manager 是启动命令的管理类''' 3. manager = Manager(app) '''创建Manager管理类的对象''' 4. 最后再 通过管理对象来启动flask manager.run() 5. python py文件 --help # 查看当前支持的命令有哪些 6. python py
分类: 其他 发布时间: 01-13 23:21 阅读次数: 0

Flask框架(flask中的邮件发送Flask-Mail(邮件扩展))

1. Flask的扩展包Flask-Mail通过包装了Python内置的smtplib包, 可以用在Flask程序中发送邮件。 Flask-Mail连接到简单邮件协议(Simple Mail Transfer Protocol,SMTP)服务器, 并把邮件交给服务器发送。 2. 开启邮箱SMTP服务,,设置开启邮箱的授权码登录,且获取到授权码 3. 配置邮件: 配置邮件:服务器/端口/传输层安全协议/邮箱名/密码 app.config.update( DEBUG = True, MAIL_SE
分类: 其他 发布时间: 01-13 23:21 阅读次数: 0

Flask框架(flask模板(jinja2)与字符串过滤器、列表过滤器以及自定义过滤器)

模板变量 : {{name}} 1. 模板的定义: 模板变量 : {{name}} 2. 模板的渲染: render_template("模板名字",键=值,键=值) 例如: render_template("index.html",name="python",age="18") 如果传值的话,想要直接在渲染函数里面直接传字典则: 可以事先定义好一个字典data,然后,render_template("index.html",**data) 首先是模板,里面的变量的写法和python的是一样的
分类: 其他 发布时间: 01-13 23:21 阅读次数: 0

Flask框架(flask中的蓝图Blueprint)

1. 我们学习Flask框架,开始的时候是把所有的视图函数等都写在一个文件中 我们在这单个文件中可以定义路由、视图函数、定义模型等等。 但这显然存在一个问题:随着业务代码的增加,将所有代码都放在单个程序文件中,是非常不合适的。 这不仅会让代码阅读变得困难,而且会给后期维护带来麻烦。 2. 问题怎么解决呢 一个程序执行文件中,功能代码过多。 让代码实现模块化 尝试用模块的导入的方式解决 把一个文件拆开,把视图函数按照不同的功能进行划分,分成不同的文件,然后建立一个主文件,在主文件中。利用模块导入
分类: 其他 发布时间: 01-13 23:20 阅读次数: 0

Echarts(自己整理的一些散点图、饼图、条形图、散点图的基本配置参数)

1.引人echarts.js <script src="echarts.min.js"></script> 2. 为 ECharts 准备一个具备大小(宽高)的 DOM(文档对象模型) <div id="main" style="width: 600px;height:400px;"></div> 3.条形图的一些配置参数: '''1. 设置图表的标题''' title: { text: '这是图表的标题文字' } '''2. 鼠标放在图标上面的显示信息,不设置的话就是t
分类: 其他 发布时间: 01-13 23:20 阅读次数: 0

Scrapy框架的学习(1.scrapy的概念以及scrapy的工作流程)

scrapy的概念 1.为什么要学习Scrapy? 因为会让我们的爬虫更快、更强 2.什么是scrapy? (1) Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取 *** 框架:特定需求下的所有功能*** , 知道框架和模块的区别 (2)Scrapy 使用了 Twisted['twɪstɪd]异步网络框架,可以加快我们的下载速度。 (3)Scrapy的官方文档 http://scrapy-chs.readthedocs.io/zh
分类: 其他 发布时间: 01-13 23:20 阅读次数: 0

Scrapy框架的学习(2.scrapy入门,简单爬取页面,并使用管道(pipelines)保存数据)

上个博客写了: Scrapy的概念以及Scrapy的详细工作流程 https://blog.csdn.net/wei18791957243/article/details/86154068 1.scrapy的安装 pip install scrapy 2.创建Scarpy项目: 在cmd中进入到想要创建Scrapy项目的路径下(最好在已经创建好的pycharm的工程路径下,就不用导入Python编译器等): 输入命令创建:scrapy startproject scrapy的项目名称 创建之后
分类: 其他 发布时间: 01-13 23:20 阅读次数: 0

Scrapy框架的学习(3.pipeline介绍以及多个爬虫的pipeline的使用)

上个博客最后面写到了,pipeline的简单使用以及参数的配置含义:https://blog.csdn.net/wei18791957243/article/details/86157707 1.从pipeline的字典形式可以看出来,pipeline可以有多个,而且确实pipeline能够定义多个 2. 有多个爬虫,pipeline是怎样处理的呢? 首先创建三个爬虫 : 例如: 在一个scrapy的项目里面爬取三个网站: 今日头条、新浪、豆瓣 在cmd里面分别创建三个爬虫: 然后打开pych
分类: 其他 发布时间: 01-13 23:19 阅读次数: 0

Scrapy框架的学习(4.scrapy中的logging模块记录日志文件以及普通的项目中使用)

logging模块使用 为了让我们自己希望输出到终端的内容能容易看一些: 我们可以在setting中设置log级别 在setting中添加一行(全部大写):LOG_LEVEL = "WARNING” 默认终端显示的是debug级别的log信息 1. 使用 WARNING 打印出信息 import logging # 导入模块 '''可以把当前的py文件所在的位置显示出来''' logger = logging.getLogger(__name__) '''使用logger打印出信息'
分类: 其他 发布时间: 01-13 23:19 阅读次数: 0

Scrapy框架的学习(5.scarpy实现翻页爬虫,以及scrapy.Request的相关参数介绍)

1. 创建爬虫项目 : scrapy startporject tencent 然后进入到项目中: cd tencent 创建爬虫:scrapy genspider tencent_spider tencent.com 2. 在开始写代码之前,有些知识要知道 可以找到页面上的下一页的url地址,然后用解析函数去处理,解析函数可以是当前函数,类似于函数递归 通过在Request中指定callback参数来确定哪个解析函数来解析 3. 爬虫的代码 。 tencent_spider.py 爬取腾讯招
分类: 其他 发布时间: 01-13 23:19 阅读次数: 0

Scrapy框架的学习(6.item介绍以及items的使用(提前定义好字段名))

在Scrapy框架中的items.py的作用 1.可以预先定义好要爬取的字段 items.py import scrapy class TencentItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() """定义好字段,并不代表真正的值,只是占一个位置,用的时候直接赋值就行""" position = scrapy.Field()
分类: 其他 发布时间: 01-13 23:19 阅读次数: 0

Scrapy框架的学习(7. 了解Scrapy中的debug信息以及Scrapy shell的使用)

认识程序中的debug信息 https://blog.csdn.net/wei18791957243/article/details/86157707 这个博客里写了,怎么关闭这些debug信息 因为在Scrapy中默认是开启debug信息的 Scrapy shell的使用 退出到爬虫项目的根目录的上一级目录 scrapy shell 网站地址 例如: scrapy shell http://quotes.toscrape.com/ 如果电脑上装的Ipython就进入Ipython,没有就进入
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

Scrapy框架的学习(8.scrapy中settings.py里面配置说明以及怎样设置配置或者参数以及怎样使用)

1.settings.py里面的参数说明 每个参数其对应的官方得文档的网址 # -*- coding: utf-8 -*- # Scrapy settings for tencent project # # For simplicity, this file contains only settings considered important or # commonly used. You can find more settings consulting the documentati
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

悲观锁和乐观锁以及事务的隔离级别

悲观锁(Pessimistic Lock), 顾名思义,就是很悲观,每次去拿数据的时候都认为别人会修改,所以每次在拿数据的时候都会上锁,这样别人想拿这个数据就会block直到它拿到锁。传统的关系型数据库里边就用到了很多这种锁机制,比如行锁,表锁等,读锁,写锁等,都是在做操作之前先上锁。 乐观锁(Optimistic Lock), 顾名思义,就是很乐观,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时候会判断一下在此期间别人有没有去更新这个数据,可以使用版本号等机制。乐观锁适用
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

谈谈websocket集群的解决方式

  上文我们已经利用websocket实现微信二维码支付的业务。   上述实现在单机环境中实现是没有什么问题的,无非就是客户端连接服务端,首先将连接的websocketsession存在一个map里面,当异步响应的时候, 根据流水号获取map里面对于的websocketSession,给指定的客户端发送消息。 但实际生产环境中,服务器一般是采用集群模式,首先,比方支付来说,接收第三方响应的服务器可能是有多台,然后具体是根据nginx随机路由转发, 假设异步响应的服务器有2台,A和B,而且连接w
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

luogu P4156 [WC2016]论战捆竹竿

传送门 官方题解(证明都在这) 神仙题鸭qwq 转化模型,发现这题本质就是一个集合,每次可以加上集合里的数,问可以拼出多少不同的数 首先暴力需要膜意义下的最短路,例题戳这 然后这个暴力可以优化成N^2的.具体操作是枚举每个数,然后从某个点只用这个数往后跳,这样在膜m意义下可以形成\(gcd(a,m)\)个环.每个环找到dis最小的点,从这个点开始依次遍历整个环,更新后一个位置 有个结论是集合中的数可以分成\(logn\)个等差数列,所以可以每个等差数列贡献答案 然后对于每个等差数列,先把膜m意
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

golang语言学习第七课:数组

go语言中,定义数组有3种方法: //定义数组的3种方法 var arr1 [5]int //必须在[]中填入数组的大小,如果不填则不是数组,而是切片 arr2 := [3] int {1,3,5} //第二种定义数组的方法,只能在函数体内用,必须给初始值。 arr3 := [...] int {2,4,6,8,10} //第三种,让编译器去计算个数的方法。 var grid [4][5]int //定义一个2维数组,4行5列,从前往后读,4个东
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

python的__all__

用来暴露接口 控制 from xxx import * 的行为 代码中当然是不提倡用 from xxx import * 的写法的,但是在 console 调试的时候图个方便还是很常见的。如果一个模块 spam 没有定义 __all__,执行 from spam import * 的时候会将 spam 中非下划线开头的成员都导入当前命名空间中,这样当然就有可能弄脏当前命名空间。如果显式声明了 __all__,import * 就只会导入 __all__ 列出的成员。如果 __all__ 定义有
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

.NET Core实战项目之CMS 第十五章 各层联动工作实现增删改查业务

原文:.NET Core实战项目之CMS 第十五章 各层联动工作实现增删改查业务 连着两天更新叙述性的文章大家可别以为我转行了!哈哈!今天就继续讲讲我们的.NET Core实战项目之CMS系统的教程吧!这个系列教程拖得太久了,所以今天我就以菜单部分的增删改查为例来讲述下我的项目分层之间的协同工作吧!如果你觉得文中有任何不妥的地方还请留言或者加入DotNetCore实战千人交流群637326624跟大伙进行交流讨论吧! 本文已收录至《.NET Core实战项目之CMS 第一章 入门篇-开篇及总体
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0

CentOS7 adb

https://blog.csdn.net/u012700515/article/details/79021320
分类: 其他 发布时间: 01-13 23:18 阅读次数: 0