- 博客(157)
- 收藏
- 关注
原创 Flask 上下文
Flask 学习笔记一、Flask 上下文 Flask 项目中有两个上下文,一个是应用上下文(app),另外一个是请求上下文(request)。请求上下文 request 和 应用上下文 current_app 都是一个全局变量,所有请求都共享的。 Flask 有特殊的机制可以保证每次请求的数据都是隔离的,即 A 请求所产生的数据不会影响到 B 请求。所以可以直接导入 request 对象,
2020-05-08 23:52:28 1533
原创 Flask-WTF —— 文件上传验证
Flask 学习笔记一、文件上传验证1.1、文件上传在模版中,form 表单中,需要指定 encotype='multipart/form-data' 才能上传文件。在后台如果想要获取上传的文件,那么应该使用 request.files.get('avatar') 来获取。保存文件之前,先要使用 werkzeug.utils.secure_filename 来对上传上来的...
2020-04-30 22:28:20 840
原创 Flask-WTF —— 表单验证
Flask 学习笔记一、WTForms 表单验证1.1、Flask-WTF Flask-WTF 是简化了 WTForms 操作的一个第三方库。WTForms 表单的两个主要功能是验证用户提交数据的合法性以及渲染模板。当然还包括一些其他的功能:CSRF 保护,文件上传等。安装 Flask-WTF 默认也会安装 WTForms,因此使用 ...
2020-04-30 22:01:42 975
原创 Flask-Script 和 Flask-Migrate
Flask 学习笔记一、Flask-Script1.1、简介 Flask-Script 的作用是可以通过命令行的形式来操作 Flask。例如通过命令操作一个开发版本的服务器、设置数据库,定时任务等。要使用 Flask-Script。可以通过 pip install flask-script 安装最新版本。1.2、命令实现代码的方法...
2020-04-29 22:10:03 268
原创 SQLAlchemy —— 排序和高级查询
Flask 学习笔记一、排序1.1、order_by order_by 可以指定根据表中的某个字段进行排序。默认是升序排序,如果在前面加了一个 - ,代表的是降序排序,或者使用 desc() 也是降序排序。 # order_by 默认是 升序 articles = session.query(Article).order_by(A...
2020-04-26 21:26:46 2496
原创 SQLAlchemy —— 表关系
Flask 学习笔记一、一对多 表之间的关系存在三种:一对一、一对多、多对多。而 SQLAlchemy 中的 ORM 也可以模拟这三种关系。因为一对一其实在 SQLAlchemy 中底层是通过一对多的方式模拟的。1.1、一对多 如上 user2 表中的一条数据与 article...
2020-04-26 11:44:06 599
原创 SQLAlchemy —— 数据类型
Flask 学习笔记一、sqlalchemy 常用数据类型Integer:整形。Float:浮点类型(四舍五入保留 4 为小数)。DECIMAL:定点类型(可规定数据长度及小数位数)。Boolean:传递 True 、 False 进去,在数据库中的显示 1 和 0。enum:枚举类型(只能输入 Enum 所包含的数值。如:男,女)。Date:传递 dat...
2020-04-22 16:19:42 5789
原创 SQLAlchemy —— ORM
Flask 学习笔记一、ORM 介绍 随着项目越来越大,采用原生 SQL 的方式在代码中会出现大量的 SQL 语句,对项目的进展非常不利。 1. SQL 语句重复利用率不高。越复杂的 SQL 语句条件越多,代码越长。会出现大量相近似的 SQL 语句。 2. 很多 SQL 语句是在业务逻辑中拼出来的。如果有数据库需要更改,就要去修改...
2020-04-22 15:36:25 1246
原创 模板继承
Flask 学习笔记一、模板继承 Flask中的模板可以继承,通过继承可以把模板中许多重复出现的元素抽取出来,放在父模板中,并且父模板通过定义 block 给子模板开一个口,子模板根据需要,再实现这个 block,类似于 python 中父类的方法。1.1、简单的模板继承使用话不多说,先写个 index.py from fl...
2020-04-17 19:55:40 165
原创 宏 和 import 语句
Flask 学习笔记一、宏 模板中的宏跟 python 中的函数类似,可以传递参数,但是不能有返回值,可以将一些经常用到的代码片段放到宏中,然后把一些不固定的值抽取出来当成一个变量。怎么用呢?可以通过传参的方式定义 html 标签中的属性。 <!-- 先用 宏 定义input的结构 --> {% macr...
2020-04-16 23:59:27 319
原创 控制语句
Flask 学习笔记一、if 判断语句 所有的控制语句都是放在 {% ... %} 中,并且有一个语句 {% endxxx %} 来进行结束,Jinja 中常用的控制语句有 if , for..in.. 。 if 语句和 python 中的类似,可以使用 >, <, &...
2020-04-16 22:23:20 122
原创 模板
Flask 学习笔记一、模板介绍 模板是一个 web 开发必备的模块。因为我们在渲染一个网页的时候,并不是只渲染一个纯文本字符串,而是需要渲染一个有富文本标签的页面。这时候我们就需要使用模板了。在 Flask 中, 配套的模板是 Jinja2,Jinja2 的作者也是 Flask 的作者。这个模板非常的强大,并且执行效率高。1.1、...
2020-04-16 14:18:34 381
原创 URL 与 视图
Flask 学习笔记一、URL 与 视图1.1、URL 与 函数的映射 从之前的 helloworld.py 文件中,我们已经看到,一个 URL 要与执行函数进行映射,使用的是 @app.route 装饰器。装饰器中,可以指定 URL 的规则来进行更加详细的映射,比如现在要映射一个文章详情的 URL,文章详情的 URL 是 /list...
2020-04-15 15:49:28 271
原创 项目配置
Flask 学习笔记一、设置为 Debug 模式 默认情况下 flask 不会开启 Debug 模式,开启 Debug 模式后,flask 会在每次保存代码的时候自动的重新载入代码,并且如果代码有错误,会在终端进行提示。开启 Debug 模式有三种方式:直接在应用对象上设置 app.debug = True app.run()...
2020-04-08 17:11:22 247
原创 Flask 介绍
Flask 学习笔记一、Flask 简介 Flask 是一款非常流行的 Python Web 框架,出生于 2010 年,作者是 Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目。 Flask 自2010年发布第一个...
2020-04-06 22:01:45 415
原创 虚拟环境
项目前导 学习笔记一、虚拟环境1.1、为什么需要虚拟环境 到目前位置,我们所有的第三方包安装都是直接通过 pip install xx 的方式进行安装的,这样安装会将那个包安装到你的系统级的 Python 环境中。 但是这样有一个问题,就是如果你现在用 Django 1.10.x...
2020-04-06 21:13:54 185
原创 vue-Cli 简单介绍
项目前导 学习笔记一、vue-cli1.1、介绍 vue-cli 是和 vue 进行深度组合的工具,可以快速帮我们创建 vue 项目,并且把一些脚手架相关的代码给我们创建好。一般使用 vue 开发项目,都是用 vue-cli 来创建项目的。1.2、安装 Vue CLI 需要 ...
2020-04-01 22:16:47 670
原创 Node 环境配置
项目前导 学习笔记一、nvm nvm(Node Version Manager) 是一个用来管理 node 版本的工具。我们之所以需要使用 node,是因为我们需要使用 node 中的 npm(Node Package Manager),使用 npm 的目的是为了能够方便的管理一些 前端开发的包 !nvm 的安装非常简单。步骤如下:...
2020-03-29 16:53:36 180
原创 vue-router 基础
项目前导 学习笔记一、路由基本 在网页中,经常需要发生页面更新或者跳转。这时候我们就可以使用 Vue-Router 来帮我们实现。Vue-Router 是用来做路由的,也就是定义 url 规则与具体的 View 映射的关系。可以在一个单页面中实现数据的更新。1.1、安装使用CDN:加载最新版的:<script sr...
2020-03-26 16:10:56 168
原创 Vue 案例练习
项目前导 学习笔记一、图书管理系统(当然是假的,没有与数据库进行交互) 给大家介绍一个 web 页面样式的网站,直接复制它的代码可以更方便的开发。 Bootstrap 官网:https://www.bootcss.com/ 该...
2020-03-26 14:30:50 1345 1
原创 Vue 过滤器
项目前导 学习笔记一、过滤器 过滤器就是数据在真正渲染到页面中的时候,可以使用这个过滤器进行一些处理,把最终处理的结果渲染到网页中。1.1、过滤器使用 过滤器可以用在两个地方:双花括号插值 和 v-bind表达式 (后者从2.1.0+开始支持)。过滤器应该被添加在 JavaS...
2020-03-26 10:06:07 90
原创 Vue 生命周期函数
项目前导 学习笔记一、生命周期函数 生命周期函数代表的是 Vue 实例,或者是 Vue 组件,在网页中各个生命阶段所执行的函数。生命周期函数可以分为 创建阶段 、运行期间 以及 销毁期间。其中:创建期间的函数有:beforeCreate、created、beforeMount、mounted;运行期间的函数有:beforeU...
2020-03-25 23:20:26 173
原创 Vue 自定义组件
项目前导 学习笔记一、自定义组件 有时候有一组 html 结构的代码,且其可能还绑定了事件。然后这段代码可能有多个地方都被使用到了,如果都是拷贝来拷贝去,很多代码都是重复的,包括事件部分的代码都是重复的。那么这时候我们就可以把这些代码封装成一个组件,以后在使用的时候就和使用普通的 html 标签 一样,直接拿过来用就可以了(且不相互影响...
2020-03-25 20:35:00 229
原创 Vue 表单输入绑定
项目前导 学习笔记一、表单输入绑定 v-model 指定可以实现表单值与属性的双向绑定。即表单元素中更改了值会自动的更新属性中的值,属性中的值更新了会自动更新表单中的值。1.1、绑定的属性和事件 v-model 在内部为不同的输入元素使用不同的属性并抛出不同的事件。tex...
2020-03-22 22:35:04 329
原创 vue 计算属性和监听器
项目前导 学习笔记一、计算属性和监听器 一般情况下属性都是放到 data 中的,但是有些属性可能是需要经过一些逻辑计算后才能得出来,那么我们可以把这类属性变成计算属性。比如以下: <div id="app"> <label for="length">长:</label> <...
2020-03-22 21:35:25 99
原创 Vue 视图与事件
项目前导 学习笔记一、视图更新1.1、触发视图更新 Vue 对一些方法进行了包装和变异,以后数组通过这些方法进行数组更新,会触发视图的更新。(就是在页面看到数据的变化)直接赋值<!DOCTYPE html><html lang="en"><head> <meta char...
2020-03-21 22:11:13 350
原创 Vue 条件判断与循环
项目前导 学习笔记一、条件判断1.1、简单判断 在模板中,可以根据条件进行渲染。条件用到的是 v-if、v-else-if 、v-else 来组合实现的。 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"...
2020-03-21 12:24:59 2116
原创 Vue 介绍
项目前导 学习笔记一、如果是使用 VSCode 的话可以安装一些插件 后开发 Vue 项目,使用 .vue 的单文件开发,就需要一些插件来帮我们识别 .vue 文件。插件安装在 Extension 中,点开即可看到一个搜索按钮,可以输入关键字搜索自己想要的插件。推荐的几个插件:jshint :js 代码规范检查。Beau...
2020-03-17 16:24:29 433 1
原创 Git 补充
项目前导 学习笔记一、配置文件存放三个位置1.1、项目配置文件:项目/.git/config一般修改的话都是修改项目文件 $ git config --local user.name 'xxx' $ git config --local user.email 'xxx@xx.com1.2、全局配置文件:~/.gitconfig $ git config --global ...
2020-03-17 13:19:17 128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人