12 2019 档案

摘要:一 、采用flask + mysql 的简单图书管理系统 示例代码: 阅读全文
posted @ 2019-12-31 16:21 微风轻哨 阅读(734) 评论(0) 推荐(0) 编辑
摘要:subquery方法 子查询既select 语句还有select 那么在sqlarchemy中,要实现一个子查询,需要以下几个步骤 1.将子查询按照传统的方式写好查询代码,然后在query对象后面执行subquery方法,将这个查询变成一个子查询。 2.在子查询中,将以后需要用到的字段通过lable 阅读全文
posted @ 2019-12-28 16:57 微风轻哨 阅读(180) 评论(0) 推荐(0) 编辑
摘要:join 的使用_高级查询之多表查询: 1.join分为left join(左外连接) 和 right join(右外链接)以及内连接(等值连接) 2.sqlarchemy中,使用join来完成内连接,在join的时候,如果不写join的条件,那么默认将使用外键来作为条件连接。 3.查询的字段,跟j 阅读全文
posted @ 2019-12-27 11:13 微风轻哨 阅读(233) 评论(0) 推荐(0) 编辑
摘要:一、分组group_by 和 过滤分组having 二、示例: 阅读全文
posted @ 2019-12-26 19:26 微风轻哨 阅读(175) 评论(0) 推荐(0) 编辑
摘要:limit、offset、slice作用: 1.limit:可以限制查询的时候只查寻前几条数据,算top-N查询: 2.offset: 可以限制查找数据的时候过滤掉前面多少条,可以指定开始查询时的偏移量 3.切片:可以对Query对象使用切片操作,来获取想要的数据 也可以使用slice(start, 阅读全文
posted @ 2019-12-26 16:47 微风轻哨 阅读(235) 评论(0) 推荐(0) 编辑
摘要:一、排序: 1.order_by 方法排序,可以指定根据数据模型中某个属性进行排序,属性名.desc()代表降序排序二、代码示例: 阅读全文
posted @ 2019-12-25 17:09 微风轻哨 阅读(193) 评论(0) 推荐(0) 编辑
摘要:一、ORM层面多对多关系实现 阅读全文
posted @ 2019-12-24 21:03 微风轻哨 阅读(165) 评论(0) 推荐(0) 编辑
摘要:在sqlarchemy中,如果想要两个模型映射成一对一的关系,那么应该在父模型中,指定引用的时候,要传递一个userlist=False这个参数进去,都是告诉父模型,以后引用这个从模型的时候,不在是一个列表了,而是一个对象了,示例代码如下: 阅读全文
posted @ 2019-12-22 21:39 微风轻哨 阅读(194) 评论(0) 推荐(0) 编辑
摘要:一、表关系: 表之间的关系存在三种:一对一、一对多、多对多,而SQLARCHMY中的orm也可以模拟这三种关系。 因为一对一其实在SQLarchemy中底层是通过一对多的方式模拟的,所以先来看下一对多的关系。 外键: 使用SQLarchemy创建外键非常简单,在从表中加一个字段,指定这个字段外键的哪 阅读全文
posted @ 2019-12-16 11:51 微风轻哨 阅读(329) 评论(0) 推荐(0) 编辑
摘要:一、filter 过滤条件: 过滤是数据提取的一个很重要的功能,这些过滤条件是通过filter来实现 二、示例: 阅读全文
posted @ 2019-12-15 11:00 微风轻哨 阅读(2714) 评论(0) 推荐(0) 编辑
摘要:1.模型名:指定查找这个模型中所有的属性(对应查询表为全表查询) 2.模型中的属性:可以指定只查找某个模型的其中的几个属性 3.聚合函数:*func.count:统计行的数量 *func.avg:求平均值 *func.max:求最大值 *func.min:求最小值 *func.sum:求和 func 阅读全文
posted @ 2019-12-13 10:20 微风轻哨 阅读(737) 评论(0) 推荐(0) 编辑
摘要:一、Interger:整形,映射到数据库中是int类型 float:浮点类型,映射到数据库中是float类型。占据32位 double:双精度浮点类型,映射到数据库中是double类型,占据64位(SQLALCHEMY中没有) String:可变字符类型,映射到数据库中是varchar类型 Bool 阅读全文
posted @ 2019-12-12 20:13 微风轻哨 阅读(1164) 评论(0) 推荐(0) 编辑
摘要:示例: 阅读全文
posted @ 2019-12-12 16:57 微风轻哨 阅读(157) 评论(0) 推荐(0) 编辑
摘要:示例: 阅读全文
posted @ 2019-12-11 21:33 微风轻哨 阅读(253) 评论(0) 推荐(0) 编辑
摘要:1、SQLAlchemy 介绍和基本使用: SQLAlchemy 采用了类似于Java里Hibernate的数据映射模型 SQLAlchemy 是一个数据库的orm框架,安装命令为pip install sqlalchemy,同时连接mysql,也需要安装pymysql,安装命令为pip insta 阅读全文
posted @ 2019-12-11 21:04 微风轻哨 阅读(303) 评论(0) 推荐(0) 编辑
摘要:一、Flask_Restful 渲染模版 如果在Flask的类视图中html代码,或者整个html文件代码,即渲染模版的意思,那么就应该使用"api.representation"这个装饰器来定义一个函数,这个函数中,应该对一个html代码进行一个封装,再返回 示例: 阅读全文
posted @ 2019-12-11 19:13 微风轻哨 阅读(307) 评论(0) 推荐(0) 编辑
摘要:1.Flask_RESTful 结合蓝图使用 在蓝图中,如果使用Flask_RESTful,那么在创建 Api对象的时候,使用蓝图对象,不在是使用app对象了 示例:蓝图文件: 注册蓝图: 阅读全文
posted @ 2019-12-11 17:01 微风轻哨 阅读(607) 评论(0) 推荐(0) 编辑
摘要:一、复杂参数结构:无非就是key对应的value,又是一个json 或者key对应的一个列表,列表中的每一项都是json,那么可以使用一些特殊字段来实现。如在一个字段中放置一个列表,那么可以使用fields.List,如果在一个字段下面又是一个字典,那么可以使用fields.Nested. 二、示例 阅读全文
posted @ 2019-12-11 14:30 微风轻哨 阅读(238) 评论(0) 推荐(0) 编辑
摘要:一、Flask_RESTful 返回标准化参数 1.对于一个类视图,可以指定一些字段做标准化用于返回 2.使用orm模型或者自定义模型的时候,他会自动的获取模型中的相应字段 3.生成json格式数据,然后再返回给客户端 4.需要导入flask_restful.marshal_with装饰器 5. 需 阅读全文
posted @ 2019-12-10 16:54 微风轻哨 阅读(506) 评论(0) 推荐(0) 编辑
摘要:1.参数验证:也叫参数解析 Flask-Restful 插件提供了类似WTForms来验证提交的数据是否合法的包,叫做reqparse 2.基本用法:(借助测试工程师 常用的接口测试工具来检验,如jmeter、postman等等) 3. 示例 阅读全文
posted @ 2019-12-10 14:37 微风轻哨 阅读(779) 评论(0) 推荐(0) 编辑
摘要:一、REST(Representational State Transfer)表象化状态转变(表述性状态转变),在2000年被提出,基于HTTP、URI、XML、JSON等标准和协议,支持轻量级、跨平台、跨语言的架构设 计。是Web服务的一种新的架构风格(一种思想)。 二、REST架构的主要原则 对 阅读全文
posted @ 2019-12-10 10:43 微风轻哨 阅读(311) 评论(0) 推荐(0) 编辑
摘要:一、文件上传的基本原理: 一个带有 enctype=multipart/form-data 的 <form> 标记,标记中含有 一个 <input type=file> 应用通过请求对象的 files 字典来访问文件 使用文件的 save() 方法把文件 永久地保存在文件系统中 二、从服务器下,载文 阅读全文
posted @ 2019-12-09 16:43 微风轻哨 阅读(240) 评论(0) 推荐(0) 编辑
摘要:一、WTForm自定义验证器: 1.只有当WTForm内置的验证器不能无法满足要求的时候,需要自定义验证器 二、示例: 阅读全文
posted @ 2019-12-09 11:31 微风轻哨 阅读(333) 评论(0) 推荐(0) 编辑
摘要:1.WTForms介绍: Flask-WTF是集成WTForms,并带有 csrf 令牌的安全表单和全局的 csrf 保护的功能。 每次我们在建立表单所创建的类都是继承于flask_wtf中的FlaskForm,而FlaskForm是继承WTForms中forms。 作用:1. 这个插件作用:1.表 阅读全文
posted @ 2019-12-08 22:44 微风轻哨 阅读(372) 评论(0) 推荐(0) 编辑
摘要:一、errorhandler 接收状态吗,可以自定义返回这种状态码的响应的处理办法,如果发生一些异常的时候,比如404、500那么如果想要优雅的处理这些错误,就可以使用errorhandler 注意点: *在errorhandler装饰钩子函数下,要返回响应的状态码 *在errorhandler装饰 阅读全文
posted @ 2019-12-08 16:31 微风轻哨 阅读(1018) 评论(0) 推荐(0) 编辑
摘要:一、钩子函数概念: 在Flask中钩子函数是使用特定装饰器装饰的函数.在正常执行中的代码插入一段自己想要执行的代码.那么这种函数就叫做钩子函数。 二、常见钩子函数: 1.before_first_request 处理项目第一此请求之前执行 2.before_request:在每次请求之前。通常可以用 阅读全文
posted @ 2019-12-07 16:18 微风轻哨 阅读(176) 评论(0) 推荐(0) 编辑
摘要:一、session使用场景 阅读全文
posted @ 2019-12-06 19:05 微风轻哨 阅读(224) 评论(0) 推荐(0) 编辑
摘要:session: session的基本概念: 1.session 和 cookie的作用有点类似,都是为了存储用户的信息,都是为了解决http协议无状态的特点。不同的是,cookie信息是存储在客户端,而session信息是存储在服务端。 2.不同的语言,不同的框架,有不同的实现,虽然底层的实现完全 阅读全文
posted @ 2019-12-06 17:26 微风轻哨 阅读(574) 评论(0) 推荐(0) 编辑
摘要:cookie基本概念: 一、 Cookie总是保存在客户端中,按在客户端中的存储位置,可分为内存Cookie和硬盘Cookie。内存Cookie由浏览器维护,保存在内存中,浏览器关闭后就消失了,其存在时间是短暂的。硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Co 阅读全文
posted @ 2019-12-06 11:43 微风轻哨 阅读(669) 评论(0) 推荐(0) 编辑
摘要:一、如果加载静态文件的时候,指定的蓝图的名字,比如" book.static",(book代表蓝图的名称),那么就会到这个蓝图指定的static_folder下查找静态文件。 示例代码: 阅读全文
posted @ 2019-12-05 19:06 微风轻哨 阅读(238) 评论(0) 推荐(0) 编辑
摘要:一、蓝图模板中的查找: *如果项目中的templates文件夹中有响应的模板文件,就直接使用了 *如果项目中的templates文件夹中没有响应的模板文件,那么就在定义蓝图的时候指定的路径中寻找,并且蓝图中指定的路径可以为相对路径,相对的是当前这个蓝图文件所在的目录。 二、自定一蓝图模板文件路径 总 阅读全文
posted @ 2019-12-05 16:12 微风轻哨 阅读(358) 评论(0) 推荐(0) 编辑
摘要:蓝图的基本使用: 一、蓝图:1.蓝图的作用是让我们的flask项目更加模块化,机构清晰,更好的管理项目,让项目达到分层解耦,可以将相同模块的视图函数放在同一个蓝图下,同一个文 件中,方便管理。 二、实例代码: 阅读全文
posted @ 2019-12-05 15:03 微风轻哨 阅读(192) 评论(0) 推荐(0) 编辑
摘要:一、加载静态文件 静态文件:css 文件、js文件、图片文件 加载静态文件使用的是“url_for”函数 语法:{{ url_for( "static", filename="xxxxx" ) }} 路径查找,要以当前项目的static目录作为根目录。 二、实例: 阅读全文
posted @ 2019-12-05 10:18 微风轻哨 阅读(831) 评论(0) 推荐(0) 编辑
摘要:set 语句定义变量,相当于python基础中的全局变量,那么后面的代码都可以使用这个变量 with语句定义变量,相当于python基础中的局部变量,那么后面的代码只能在with语句块中使用 实例代码: 阅读全文
posted @ 2019-12-04 20:11 微风轻哨 阅读(620) 评论(0) 推荐(0) 编辑
摘要:include标签: 1.这个标签相当于直接将指定的模板中的diamagnetic复制粘贴到当前位置 2.include标签,如果想要使用父模板中的变量,直接使用 {% include /common/top.html %} {% inlude /common/bottom.html %} 3.代码 阅读全文
posted @ 2019-12-04 18:38 微风轻哨 阅读(457) 评论(0) 推荐(0) 编辑
摘要:示例: from flask import Flask,render_template app = Flask(__name__) @app.route('/')def hello_world(): return render_template("index2.html")if __name__ = 阅读全文
posted @ 2019-12-03 22:27 微风轻哨 阅读(367) 评论(0) 推荐(0) 编辑
摘要:一、jinjia2中的for循环还包含以下变量,可以用来获取当前遍历的状态 | 变量 | 描述 | 当前迭代的索引(从1开始) | | loop.index() | 当前迭代的索引(从0开始) | | loop.first | 是否是第一次迭代,返回True 或 False | | loop.las 阅读全文
posted @ 2019-12-03 21:29 微风轻哨 阅读(1747) 评论(1) 推荐(1) 编辑
摘要:jinjia2中的for循环和python的for循环基本一致for.....in....的形式,并且遍历所有的序列以及迭代器。但是唯一不同的是jinjia2中的for循环没有break和continue 字典遍历和列表遍历 for 循环遍历列表、字典、列表和字典组合 示例: 阅读全文
posted @ 2019-12-03 20:16 微风轻哨 阅读(1929) 评论(0) 推荐(0) 编辑
摘要:一、if语句详解: 所有的控制语句都是放在{% ......%}中,语法格式:if条件判断语句必须放在{% if statement %}中间,并且还必须有结束的标签{% endif%},if语句可以使用>,<,<=,>=,==等等,也可以通过end,or,not,()等等来进行逻辑合作并操作。 二 阅读全文
posted @ 2019-12-02 15:15 微风轻哨 阅读(1766) 评论(0) 推荐(0) 编辑
摘要:一、过滤器的本质就是函数,有时候我们不仅仅是需要输出变量的值,我们还需要修改变量的显示,甚至格式化、运算等等,而在模版中时不能直接调用python中的某些方法,那么这就用到了过滤器。 使用方式: 过滤器的使用方式为:变量名 | 过滤器。 {{variable | filter_name(*args) 阅读全文
posted @ 2019-12-02 10:19 微风轻哨 阅读(322) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示