自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 flask Restful插件

Flask-Restful是一个专门用来写restful api的一个插件。使用他可以快速的集成restful api功能。在app的后台以及纯api的后台中,这个插件可以帮助我们节省很多时间。当然,如果在普通的网站中,这个插件就显得有些鸡肋了,因为在普通的网页开发中,是需要去渲染HTML代码的,而Flask-Restful在每个请求中都是返回json格式的数据。安装Flask-Restful需要在Flask 0.8以上的版本,在Python2.6或者Python3.3上运行。通过pip install

2020-06-11 19:14:44 247

原创 flask Restful API规范

restful api是用于在前端与后台进行通信的一套规范。使用这个规范可以让前后端开发变得更加轻松。以下将讨论这套规范的一些设计细节。协议采用http或者https协议数据传输格式数据之间传输的格式应该都使用json,而不使用xml。url链接url链接中,不能有动词,只能有名词。并且对于一些名词,如果出现复数,那么应该在后面加s。HTTP请求的方法GET:从服务器上获取资源。POST:在服务器上新创建一个资源。PUT:在服务器上更新资源。(客户端提供所有改变后的数据)PATCH:

2020-05-25 14:31:34 505

原创 flask 上下文

Flask项目中有两个上下文,一个是应用上下文(app),另外一个是请求上下文(request)。请求上下文request和应用上下文current_app都是一个全局变量。所有请求都共享的。Flask有特殊的机制可以保证每次请求的数据都是隔离的,即A请求所产生的数据不会影响到B请求。所以可以直接导入request对象,也不会被一些脏数据影响了,并且不需要在每个函数中使用request的时候传入request对象。钩子函数钩子函数就是当一个事件触发时,来进行钩子函数得内容,有在事件之前,之后等befo

2020-05-24 12:40:01 296

原创 flask cookie和session

cookie在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的时候,就会自动的把上次请求存储的cookie数据自动的携带给服务器,服务器通过浏览器携带的数据就能判断当前用户是哪个了。cookie存储的数据量有限,不同的浏览器有不同的存储大小,但一般不超过4KB。因此使用cookie只能存

2020-05-19 22:37:34 140

原创 flask WTForms表单验证

Flask-WTFFlask-WTF是简化了WTForms操作的一个第三方库。WTForms表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF保护,文件上传等。安装Flask-WTF默认也会安装WTForms,因此使用以下命令来安装Flask-WTFpip install flask-wtf表单验证安装完Flask-WTF后。来看下第一个功能,就是用表单来做数据验证,现在有一个forms.py文件,然后在里面创建一个RegistForm的注册验证表单fr

2020-05-18 18:51:38 294

原创 Flask-Migrate

在实际的开发环境中,经常会发生数据库修改的行为。一般我们修改数据库不会直接手动的去修改,而是去修改ORM对应的模型,然后再把模型映射到数据库中。这时候如果有一个工具能专门做这种事情,就显得非常有用了,而flask-migrate就是做这个事情的。flask-migrate是基于Alembic进行的一个封装,并集成到Flask中,而所有的迁移操作其实都是Alembic做的,他能跟踪模型的变化,并将变化映射到数据库中。首先我们需要安装migrate的模块pip install flask-migrate

2020-05-12 19:22:04 272

原创 Flask-Script

Flask-Script的作用是可以通过命令行的形式来操作Flask。例如通过命令跑一个开发版本的服务器、设置数据库,定时任务等。要使用Flask-Script,可以通过pip install flask-script安装最新版本from flask_script import Managerfrom flask_app import appmanager = Manager(app)@manager.commanddef hello(): print('hello')if __n

2020-05-09 22:58:05 1275

原创 flask SQLAlchemy插件

我们之前学习了SQLAlchemy的用法,但是最终我们还需要把SQLAlchemy运用到flask中,这时候我们就需要用到flask的SQLAlchemy插件Flask-SQLAlchemy,Flask-SQLAlchemy是对SQLAlchemy进行了一个简单的封装,使得我们在flask中使用sqlalchemy更加的简单。可以通过pip install flask-sqlalchemy。使用...

2020-05-08 09:53:23 128

原创 flask SQLAlchemy排序和查询

排序1.order_by:可以指定根据这个表中的某个字段进行排序,如果在前面加了一个-,代表的是降序排序。2.在模型定义的时候指定默认排序:有些时候,不想每次在查询的时候都指定排序的方式,可以在定义模型的时候就指定排序的方式。在模型定义中,添加以下代码 __mapper_args__ = { "order_by": title }即可让文章使用标题来进行排序。3....

2020-04-29 15:52:21 3799

原创 flask 外键及其约束

外键在Mysql中,外键可以使两张表联系起来。那么SQLAlchemy怎样使用外键呢。我们可以通过ForeignKey类来实现,并且可以指定表的外键约束from sqlalchemy import ForeignKeyclass Article(Base): __tablename__ = 'article' id = Column(Integer,primary_key=...

2020-04-28 17:44:00 916

原创 flask SQLAlchemy属性常用数据类型

常用数据类型Integer:整形。Float:浮点类型。Boolean:传递True/False进去。DECIMAL:定点类型。enum:枚举类型。Date:传递datetime.date()进去。DateTime:传递datetime.datetime()进去。Time:传递datetime.time()进去。String:字符类型,使用时需要指定长度,区别于Text类型。...

2020-04-27 14:07:27 784

原创 matplotlib 密度图和等高线

等高线或者密度图是我们常用图形, Matplotlib提供三个函数来供我们使用:plt.contour: 等高线plt.contourf: 自带填充色plt.imshow: 显示图形#准备环境import matplotlib.pyplot as pltimport numpy as np# 设置⻛格plt.style.use('seaborn-whitegrid')con...

2020-04-24 14:24:13 1342

原创 flask 蓝图和子域名

蓝图之前我们写的url和视图函数都是处在同一个文件,如果项目比较大的话,这显然不是一个合理的结构,而蓝图可以优雅的帮我们实现这种需求。from flask import Blueprintuser_bp = Blueprint('user',__name__,url_prefix='/user/')@user_bp.route('/')def index(): return "用...

2020-04-22 12:50:42 146

原创 flask SQLAlchemy-ORM增删改查

ORM介绍随着项目越来越大,采用原生SQL的方式在代码中会出现大量的SQL语句,对项目的进展非常不利SQL语句重复利用率不高,越复杂的SQL语句条件越多,代码越长。会出现很多相近似的SQL语句很多SQL语句是在业务逻辑中拼出来的,如果有数据库需要更改,就要去修改这些逻辑,很容易漏掉某些SQL语句的修改写SQL时容易忽略web安全问题ORM: Object Relationship M...

2020-04-21 16:39:49 688

原创 flask SQLAlchemy介绍和基本使用

数据库是一个网站的基础。Flask可以使用很多种数据库。比如MySQL,MongoDB,SQLite,PostgreSQL等。这里我们以MySQL为例进行讲解。而在Flask中,如果想要操作数据库,我们可以使用ORM来操作数据库,使用ORM操作数据库将变得非常简单。在讲解Flask中的数据库操作之前,先要安装这些模块mysql:如果是在windows上,到官网下载。如果是ubuntu,通过...

2020-04-20 18:00:02 579

原创 flask 类视图

之前我们接触的视图都是函数,所以一般简称视图函数。其实视图也可以基于类来实现,类视图的好处是支持继承,但是类视图因为没有函数视图一般的装饰器,所以写完类视图还需要通过app.add_url_rule(url_rule,view_func)来进行注册。标准类视图标准类视图是继承自flask.views.View,并且在子类中必须实现dispatch_request方法,否则便会报错,这个方法类似...

2020-04-18 18:50:30 388 1

原创 flask 模板继承

模板继承Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过定义block给子模板开-个口,子模板根据需要,再实现这个block,假设现在有一个base. html这个父模板<!DOCTYPE html><html lang="en"><head> <link rel="styleshee...

2020-04-16 10:02:36 150

原创 matplotlib 误差线

通过对误差线的绘制,可以直观反映出数据的误差大小等。#准备环境import matplotlib.pyplot as pltimport numpy as np# 设置⻛格plt.style.use('seaborn-whitegrid')基本误差线误差线使用函数plt.errorbar来创建,可以使用不同的参数进行配置。ecolor: 控制误差线颜色fmt:线型,代码与pl...

2020-04-14 21:39:28 1606

原创 计算机组成原理 导学

为什么要学习计算机组成原理一、计算机组成原理课程属于核心专业基础课,在计算机课程体系中起到承上启下的作用主要内容:介绍运算器、控制器、存储器的结构、工作原理、设计方法及互连构成整机的有关技术二、后PC时代技术发展的迫切需求– 专业地位更加凸显移动计算对信息智能终端在无线环境下的数据传输、数据处理及资源共享等应用提出了高效(资源占用少)、准确(可靠)、及时(执行速度快)等要求。多核技...

2020-04-13 09:46:57 2636

原创 flask 宏、import、include和set

宏模板中的宏跟python中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量{% macro input(name, value='', type='text') %} <input type="{{ type }}" name="{{ name }}" value="{{ value }}">{%...

2020-04-12 13:39:42 183

原创 flask Jinja2模版过滤器和控制语句

Jinja2模版过滤器过滤器是通过管道符号(|)进行使用的,例如:{{ name|length }},将返回name的长度。过滤器相当于是一个函数,把当前的变量传入到过滤器中,然后过滤器根据自己的功能,再返回相应的值,之后再将结果渲染到页面中。Jinja2中内置了许多过滤器,在这里可以看到所有的过滤器abs(value):返回一个数值的绝对值。default(value,default_v...

2020-04-11 20:48:47 199

原创 flask 模板简介

模板简介模板是一个web开发必备的模块。因为我们在渲染一个网页的时候,并不是只渲染一个纯文本字符串,而是需要渲染一个有富文本标签的页面。这时候我们就需要使用模板了。在Flask中,配套的模板是Jinja2,Jinja2的作者也是Flask的作者。这个模板非常的强大,并且执行效率高。以下对Jinja2做一个简单介绍!Flask渲染Jinja模板要渲染一个模板,通过render_template...

2020-04-10 12:42:42 308

原创 flask URL与视图

URL与函数的映射从之前的helloworld.py文件中,我们已经看到,一个URL要与执行函数进行映射,使用的是@app.route装饰器。@app.route装饰器中,可以指定URL的规则来进行更加详细的映射,比如现在要映射一个文章详情的URL,文章详情的URL是/article/id/,id有可能为1、2、3…,那么可以通过以下方式@app.route('/article/<id&...

2020-04-09 16:31:12 136

原创 day3 凭运气拿钱?

问题我兄弟在我面前摆了三个盒子,说到,老铁,里面有一个盒子里1000块钱,挑到那个盒子钱就归你了我可不想别人还仔细挑挑,反正都是1/3,我随便拿一个就是了[手动狗头]正当我准备打开之际,我朋友突然和说我,手下留盒!我现在告诉,现在你没挑的这两个盒子里,这个盒子里不是钱,给你个机会可以换一下,你要换吗?我想了想,现在我拿的是盒子1,朋友告诉我盒子2没钱,那我要不要换盒子3呢确实需要好好思...

2020-04-08 16:11:49 81

原创 flask 项目配置

设置为DEBUG模式默认情况下flask不会开启DEBUG模式,在DEBUG模式关闭时,每次代码框的改动仅保存不能在网页上体现,需要重新运行后才可以。而开启DEBUG模式后,flask会在每次保存代码的时候自动的重新载入代码,并且如果代码有错误,会在终端进行提示。开启DEBUG模式的方式1.直接在应用对象上设置app.debug = Trueapp.run()2.在执行run方法的时...

2020-04-07 19:51:02 443

原创 Flask简介

Flask简介flask是一款非常流行的Python Web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。刚好最近愚人节也刚过,是不是自己也和flask挺有缘的(笑)flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,...

2020-04-06 12:42:39 405

原创 python 虚拟环境

为什么需要虚拟环境到目前位置,我们所有的第三方包安装都是直接通过pip install xx的方式进行安装的,这样安装会将那个包安装到你的系统级的Python环境中。但是这样有一个问题,就是如果你现在用Django 1.10.x写了个网站,然后你的领导跟你说,之前有一个旧项目是用Django 0.9开发的,让你来维护,但是Django 1.10不再兼容Django 0.9的一些语法了。这时候就会...

2020-04-05 15:20:02 75

原创 Day2 这是我最爱的复制粘贴

平时博主最爱进行的操作就是复制粘贴,能省力一点是一点不是嘛今天我们就来讲讲怎么偷懒的题目,复制粘贴就完事啦!题目现有一字母A,给定一个小于1000的数n,要求只使用复制粘贴使得A的数目到达n,而且每次复制操作只能复制目前有的全部A,比如现在已经有6个A,必须复制6个A,不可以是2、3、4、5个。问最少需要执行几次操作可以达到目的如n=3A1 复制 A2 粘贴 AA3 粘贴 AAA...

2020-04-04 07:42:45 145

原创 Day1 灯泡亮不亮

作为一个吃不到葡萄说葡萄酸,一天不当电灯泡就难受的人来说,今天来和大家讨论一下如何当一个合格的电灯泡,啊呸,今天来和大家讨论一下一个有关电灯泡的题目题目假设有n个灯泡,第一次,把所有灯泡都打开;第二次,切换(即开的关,关的开)2的倍数的灯泡,即第二个,第四个。。。;第三次切换3的倍数的,依此类推,到第n次,切换最后一个灯泡,问n次后还有多少个灯泡亮着。比如4个灯泡第一次: 亮 亮 亮 亮...

2020-04-03 11:42:38 207

原创 Day0 老鼠:牛奶杀我啊

程序员要想工资高,算法总得会一点吧,算法怎么搞,刷题就完事了,你刷他个千百来题的,还怕不会写吗,快来和博主一起,一天来一道算法题吧。问题今天的题目是老鼠喝牛奶的问题。假设有n杯牛奶,其中有一杯是有毒的,喝了有毒的牛奶之后第二天就会死,问如何用最少的老鼠在最短的时间内测出哪杯牛奶有毒。老鼠寻思着我就不是生命了啊非得拿我试好把我确实挺有害的。。。解答我们将每杯牛奶编号后用二进制表示,...

2020-04-02 10:08:51 230

原创 vue-cli

vue-clivue-cli是和vue进行深度组合的工具,可以快速帮我们创建vue项目,并且把一些脚手架相关的代码给我们创建好。真正使用vue开发项目,都是用vue-cli来创建项目的。安装Vue CLI需要Node.js 8.9或更高版本 (推荐8.11.0+)。node环境安装后,直接通过npm install -g @vue/cli即可安装。安装完成后,输入vue --version,...

2020-04-01 16:30:00 107

原创 node环境配置

nvm安装nvm(Node Version Manager)是一个用来管理node版本的工具。我们之所以需要使用node,是因为我们需要使用node中的npm(Node Package Manager),使用npm的目的是为了能够方便的管理一些前端开发的包!nvm的安装非常简单,步骤如下:到这个链接下载nvm的安装包:https://github.com/coreybutler/nvm-wi...

2020-03-31 18:43:30 102

原创 vue router基础

路由概念在网页中,经常需要发生页面更新或者跳转。这时候我们就可以使用Vue-Router来帮我们实现。Vue-Router是用来做路由的,也就是定义url规则与具体的View映射的关系。可以在一个单页面中实现数据的更新。安装使用CDN:加载最新版的:<script src=“https://unpkg.com/vue-router/dist/vue-router.js”>。...

2020-03-30 14:58:03 120

原创 matplotlib 散点图

散点图(Scatter Plot)主要是以点为主,数据是不连续的数据,通过设置线的型号为原点来完成。其余的线的形状为:‘.’ :point marker‘,’ :pixel marker‘o’ :circle marker‘v’ :triangle_down marker‘^’ :triangle_up marker‘<’: triangle_left marker‘&gt...

2020-03-28 21:23:36 326

原创 Vue 生命周期函数&过滤器

生命周期函数生命周期函数代表的是Vue实例,或者是Vue组件,在网页中各个生命阶段所执行的函数。生命周期函数可以分为创建阶段和运行期间以及销毁期间。其中创建期间的函数有beforeCreate、created、beforeMount、mounted;运行期间的函数有beforeUpdate、updated;销毁期间有beforeDestroy、destroyed。以下是官方文档给到的一张...

2020-03-27 14:06:52 185

原创 Vue 自定义组件

有时候有一组html结构的代码,并且这个上面可能还绑定了事件。然后这段代码可能有多个地方都被使用到了,如果都是拷贝来拷贝去,很多代码都是重复的,包括事件部分的代码都是重复的。那么这时候我们就可以把这些代码封装成一个组件,以后在使用的时候就跟使用普通的html元素一样,拿过来用就可以了。基本使用<div id="app"> <button-counter><...

2020-03-26 12:56:49 189

原创 表单输入绑定

v-model指定可以实现表单值与属性的双向绑定。即表单元素中更改了值会自动的更新属性中的值,属性中的值更新了会自动更新表单中的值。绑定的属性和事件:v-model在内部为不同的输入元素使用不同的属性并抛出不同的事件:text和textarea元素使用value属性和input事件。checkbox和radio使用checked属性和change事件。select字段将value作为p...

2020-03-23 13:56:47 104

原创 Vue 计算属性和监听器

计算属性一般情况下属性都是放到data中的,但是有些属性可能是需要经过一些逻辑计算后才能得出来,那么我们可以把这类属性变成计算属性。比如以下:<div id="app"> <label for="length">长:</label> <input type="number" name="length" v-model:value="le...

2020-03-21 11:22:25 102

原创 Vue模板语法

文本在html中通过{{}}(双大括号)中可以把Vue对象中的数据插入到网页中。并且只要Vue对象上对应的值发生改变了,那么html中双大括号中的值也会立马改变。<div id="app"> <p>{{username}}</p> <button v-on:click="change">点击修改</button>&l...

2020-03-20 17:31:14 117

原创 Vue介绍

VSCode插件安装后面开发Vue项目,使用.vue的单文件开发,就需要一些插件来帮我们识别.vue文件。插件安装在Extension中,点开即可看到一个搜索按钮,可以输入关键字搜索自己想要的插件。这里我们开发Vue推荐的几个插件:jshint:js代码规范检查。Beautify:一键美化代码的插件。Vetur:.vue文件识别插件。Javascript(ES6) code snip...

2020-03-19 10:30:43 72

空空如也

空空如也

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

TA关注的人

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