04 2018 档案

摘要:### session:1. session的基本概念:session和cookie的作用有点类似,都是为了存储用户相关的信息。不同的是,cookie是存储在本地浏览器,session是一个思路、一个概念、一个服务器存储授权信息的解决方案,不同的服务器,不同的框架,不同的语言有不同的实现。虽然实现不 阅读全文
posted @ 2018-04-19 23:03 小小易拉罐 阅读(10268) 评论(0) 推荐(0)
摘要:### 什么是cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。cookie的出现就是为了解决这个问题,第一次登录后服务器返回一些数据(cookie)给浏览器,然后浏览器保存在本地,当该用户发送第二次请求的 阅读全文
posted @ 2018-04-19 22:11 小小易拉罐 阅读(3736) 评论(0) 推荐(0)
摘要:# 文件上传笔记:1. 在模版中,form表单中,需要指定`encotype='multipart/form-data'`才能上传文件。2. 在后台如果想要获取上传的文件,那么应该使用`request.files.get('avatar')`来获取。3. 保存文件之前,先要使用`werkzeug.u 阅读全文
posted @ 2018-04-17 22:27 小小易拉罐 阅读(599) 评论(0) 推荐(0)
摘要:# WTForms笔记:这个库一般有两个作用。第一个就是做表单验证,把用户提交上来的数据进行验证是否合法。第二个就是做模版渲染。 ### 做表单验证:1. 自定义一个表单类,继承自wtforms.Form类。2. 定义好需要验证的字段,字段的名字必须和模版中那些需要验证的input标签的name属性 阅读全文
posted @ 2018-04-16 21:52 小小易拉罐 阅读(332) 评论(0) 推荐(0)
摘要:# flask_migrate笔记:在实际的开发环境中,经常会发生数据库修改的行为。一般我们修改数据库不会直接手动的去修改,而是去修改ORM对应的模型,然后再把模型映射到数据库中。这时候如果有一个工具能专门做这种事情,就显得非常有用了,而flask-migrate就是做这个事情的。flask-mig 阅读全文
posted @ 2018-04-15 17:22 小小易拉罐 阅读(348) 评论(0) 推荐(0)
摘要:### 安装:```shellpip install flask-sqlalchemy``` ### 数据库连接:1. 跟sqlalchemy一样,定义好数据库连接字符串DB_URI。2. 将这个定义好的数据库连接字符串DB_URI,通过`SQLALCHEMY_DATABASE_URI`这个键放到` 阅读全文
posted @ 2018-04-11 23:39 小小易拉罐 阅读(328) 评论(0) 推荐(0)
摘要:### subquery:子查询可以让多个查询变成一个查询,只要查找一次数据库,性能相对来讲更加高效一点。不用写多个sql语句就可以实现一些复杂的查询。那么在sqlalchemy中,要实现一个子查询,应该使用以下几个步骤:1. 将子查询按照传统的方式写好查询代码,然后在`query`对象后面执行`s 阅读全文
posted @ 2018-04-11 23:02 小小易拉罐 阅读(5432) 评论(0) 推荐(0)
摘要:### join:1. join分为left join(左外连接)和right join(右外连接)以及内连接(等值连接)。2. 参考的网页:http://www.jb51.net/article/15386.htm3. 在sqlalchemy中,使用join来完成内连接。在写join的时候,如果不 阅读全文
posted @ 2018-04-11 22:44 小小易拉罐 阅读(4441) 评论(0) 推荐(1)
摘要:### group_by:根据某个字段进行分组。比如想要根据性别进行分组,来统计每个分组分别有多少人 ### having: having是对查找结果进一步过滤。比如只想要看未成年人的数量,那么可以首先对年龄进行分组统计人数,然后再对分组进行having过滤。示例代码如下: 阅读全文
posted @ 2018-04-11 22:24 小小易拉罐 阅读(2985) 评论(0) 推荐(0)
摘要:### 懒加载:在一对多,或者多对多的时候,如果想要获取多的这一部分的数据的时候,往往能通过一个属性就可以全部获取了。比如有一个作者,想要或者这个作者的所有文章,那么可以通过user.articles就可以获取所有的。但有时候我们不想获取所有的数据,比如只想获取这个作者今天发表的文章,那么这时候我们 阅读全文
posted @ 2018-04-10 23:13 小小易拉罐 阅读(604) 评论(0) 推荐(0)
摘要:### limit、offset和切片操作:1. limit:可以限制每次查询的时候只查询几条数据。2. offset:可以限制查找数据的时候过滤掉前面多少条。3. 切片:可以对Query对象使用切片操作,来获取想要的数据。可以使用`slice(start,stop)`方法来做切片操作。也可以使用` 阅读全文
posted @ 2018-04-10 22:50 小小易拉罐 阅读(7595) 评论(0) 推荐(0)
摘要:### 排序:1. order_by:可以指定根据这个表中的某个字段进行排序,如果在前面加了一个-,代表的是降序排序。2. 在模型定义的时候指定默认排序:有些时候,不想每次在查询的时候都指定排序的方式,可以在定义模型的时候就指定排序的方式。有以下两种方式: * relationship的order_ 阅读全文
posted @ 2018-04-10 22:36 小小易拉罐 阅读(11296) 评论(0) 推荐(0)