flask-笔记

-super()

使用super()保留基模板中定义的原始内容

- link标签:

用来指定当前文档和外部资源的关系。它最常见的是用来链接样式表,也用来创建网站图标(既是网站图标样式也包括移动设备和app图标)。

-csrf: 

CSRF概念:CSRF跨站点请求伪造(Cross—Site Request Forgery),跟XSS攻击一样,存在巨大的危害性,你可以这样来理解:
       攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义发送邮件、发消息,盗取你的账号,添加系统管理员,甚至于购买商品、虚拟货币转账等

- 重定向:简单的来说就是,在你post完一个表单,点击刷新按钮,会看到一个莫名其妙的警告,要求在再次提交表单之前进行确认.之所以会出现这种情况,是因为刷新页面时浏览器会重新发送之前已经发送过的最后一个请求.如果这个请求是一个包含表单数据的post请求,刷新页面后会再次提交表单.大多数情况下,这并不是理想的处理方式.很多用户不理解浏览器发出的这个警告.基于这个原因,最后别让web浏览器把post请求作为浏览器的最后一个请求.这种需求的实现方式是,使用重定向,作为post请求的响应,而不是使用常规响应.重定向是一种特殊的响应,响应内容是url,而不是包含HTML的字符串.浏览器收到这种响应时,会向重定向的url发起get请求,显示页面的内容.

 

-sql 和nosql的区别:

一、概念

  SQL (Structured Query Language) 数据库,指关系型数据库。主要代表:SQL Server,Oracle,MySQL(开源),PostgreSQL(开源)。

  NoSQL(Not Only SQL)泛指非关系型数据库。主要代表:MongoDB,Redis,CouchDB。

二、区别

1、存储方式

  SQL数据存在特定结构的表中;而NoSQL则更加灵活和可扩展,存储方式可以省是JSON文档、哈希表或者其他方式。SQL通常以数据库表形式存储数据。举个栗子,存个学生借书数据:

而NoSQL存储方式比较灵活,比如使用类JSON文件存储上表中熊大的借阅数据:

2、表/数据集合的数据的关系

  在SQL中,必须定义好表和字段结构后才能添加数据,例如定义表的主键(primary key),索引(index),触发器(trigger),存储过程(stored procedure)等。表结构可以在被定义之后更新,但是如果有比较大的结构变更的话就会变得比较复杂。在NoSQL中,数据可以在任何时候任何地方添加,不需要先定义表。例如下面这段代码会自动创建一个新的"借阅表"数据集合:

NoSQL也可以在数据集中建立索引。以MongoDB为例,会自动在数据集合创建后创建唯一值_id字段,这样的话就可以在数据集创建后增加索引。

从这点来看,NoSQL可能更加适合初始化数据还不明确或者未定的项目中。

 

 

三、补充

  目前许多大型互联网项目都会选用MySQL(或任何关系型数据库) + NoSQL的组合方案。

 

关系型数据库适合存储结构化数据,如用户的帐号、地址:

  1)这些数据通常需要做结构化查询(嗯,好像是废话),比如join,这时候,关系型数据库就要胜出一筹

  2)这些数据的规模、增长的速度通常是可以预期的

  3)事务性、一致性

 

NoSQL适合存储非结构化数据,如文章、评论:

  1)这些数据通常用于模糊处理,如全文搜索、机器学习

  2)这些数据是海量的,而且增长的速度是难以预期的,

  3)根据数据的特点,NoSQL数据库通常具有无限(至少接近)伸缩性

  4)按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差

 

  基于它们的适用范围不同,目前主流架构才会采用组合方案,一个也不能少。目前为止,还没有出现一个能够通吃各种场景的数据库,而且根据CAP理论,这样的数据库是不存在的。 

参考:

(1).https://www.cnblogs.com/jeakeven/p/5402095.html

 

-  flask-bootstrap:

Bootstrap(http://getbootstrap.com/)是Twitter 开发的一个开源框架,它提供的用户界面组件可用于创建整洁且具有吸引力的网页,而且这些网页还能兼容所有现代Web 浏览器。

  要想在程序中集成Bootstrap,显然要对模板做所有必要的改动。不过,更简单的方法是使用一个名为Flask-Bootstrap 的Flask 扩展,简化集成的过程。Flask-Bootstrap 使用pip安装:

pip install flask_bootstrap

  Flask 扩展一般都在创建程序实例时初始化,下面是Flask_Bootstrap的初始化方法

from flask.ext.bootstrap import Bootstrap
bootstrap = Bootstrap(app)

  初始化Flask-Bootstrap 之后,就可以在程序中使用一个包含所有Bootstrap 文件的基模板。这个模板利用Jinja2 的模板继承机制,让程序扩展一个具有基本页面结构的基模板,其中就有用来引入Bootstrap 的元素。

参考:

(1).https://www.cnblogs.com/senlinyang/p/8351720.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/273868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MySQL 无法连接

Host localhost is not allowed to connect to this MySQL server 错误 解决办法: C:\Program Files\MySQL\MySQL Server 5.5\my.ini 在[mysqld]下加下面两行, skip-name-resolve skip-grant-tables 重启mysql的windows服务,在mysql命令行界面…

能让你少写1000行代码的20个正则表达式

参考: (1).http://www.codeceo.com/article/20-regular-expressions.html

http请求中的Query String Parameters、Form Data、Request Payload

参考: (1).(http请求参数之Query String Parameters、Form Data、Request Payload) - https://www.jianshu.com/p/c81ec1a547ad

蜜罐

http://www.projecthoneypot.org/home.php转载于:https://www.cnblogs.com/diyunpeng/p/3534507.html

php中json_decode返回数组或对象的实例

1.json_decode() json_decode (PHP 5 > 5.2.0, PECL json > 1.2.0) json_decode — 对 JSON 格式的字符串进行编码 说明 mixed json_decode ( string $json [, bool $assoc ] ) 接受一个 JSON 格式的字符串并且把它转换为 PHP 变量 参数 json 待解码的 json string 格式的…

如何精通js

参考: (1.)https://www.zhihu.com/search?typecontent&q%E5%A6%82%E4%BD%95%E7%B2%BE%E9%80%9Ajs

程序员怎么样才能进入微软?

程序员怎么样才能进入微软? 程序员到微软中国总裁 “打工皇帝”长沙晒成功之道 程序员面试之道之走进微软 应该是西北大学的学生,距离我好近(我也在西安),可是又好远(人家拿到了MS的offer)。 专…

python中的装饰器-(重复阅读)

---1--- 假设我们要增强某个函数的功能,比如,在函数调用前后自动打印日志,但又不希望修改某个函数的定义,这种在代码运行期间动态增加功能的方式,称之为“装饰器”(Decorator). 装饰器本质上是一个Python…

[转帖]好技术领导,差技术领导

团队合作一个优秀的技术领导必然是团队的一份子,他们认为当整个团队成功时自己才称得上成功。他们不仅要做好繁杂和不讨好的本职工作,还要清除项目中的障碍,从而让整个团队能够以100%的效率运转起来。一个好的技术领导会努力拓宽团队在技术上…

python有哪些常用的库

参考: (1).https://www.zhihu.com/question/20501628/answer/19542741(Python 常用的标准库以及第三方库有哪些?)

C#打开文件对话框和文件夹对话框

打开文件对话框OpenFileDialog OpenFileDialog ofd new OpenFileDialog();ofd.Filter "Excel文件(*.xls;*.xlsx)|*.xls;*.xlsx|所有文件|*.*";ofd.ValidateNames true;ofd.CheckPathExists true;ofd.CheckFileExists true;if (ofd.ShowDialog() DialogResult.O…

debian安装flash插件

$ sudo apt-get install flashplugin-nonfree 转载于:https://www.cnblogs.com/vipzrx/p/3554839.html

python中的拷贝

1.赋值: 只是复制了新对象的引用,不会开辟新的内存空间。 2.浅拷贝: 创建新对象,其内容是原对象的引用。 浅拷贝有三种形式:切片操作,工厂函数,copy模块中的copy函数。 如: lst [1,2,3,[4,5]] …

ZOJ 2112 Dynamic Rankings

这里是题目地址 其实就是带修改的区间第K大。 写了一下BIT套主席树,内存飞起,似乎需要特别的优化技巧 所以还是写了一下线段树套平衡树,跑了1s左右。 其实线段树套平衡树就是归并树的自然扩展而已。 归并树是把归并排序的过程建成一颗线段树…

python3[进阶]8.对象引用、可变性和垃圾回收

文章目录8.1变量不是盒子8.2 标识,相等性和别名8.2.1 在和is之间选择8.2.2 元组的相对不可变性8.3 默认做浅复制(拓展)为任意对象做深复制和浅复制深拷贝和浅拷贝有什么具体的区别呢?8.4 函数的参数作为引用时8.4.1 不要使用可变类型作为参数…

openfire修改服务器名称方法

1.登陆openfire管理页面,在主页面下方选择编辑属性,修改服务器名称为当前主机名称,点击保存属性,按页面提示重启服务器。 2.重启后,主页的服务器属性下的服务器名称出现一个叹号,鼠标放上去显示Found RSA c…

python (第八章)补充-可迭代对象(补充高阶函数,以及常用的高阶函数)

文章目录可迭代对象迭代器什么是迭代器什么是生成器生成器的作用生成器的注意事项总结:高阶函数什么是高阶函数?map()函数filter()函数reduce()函数参考可迭代对象 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类…

网络阅读开篇

网络阅读也符合马太效应,投入的时间越多,获取的有效信息却越来越少,因此做出以下规定: 1、限制网络阅读时间; 2、每次阅读做总结。 本来想的挺简单的,随便搜了一下,居然一部小心拜读了两位大神的…

python (第二章)数据结构

文章目录2.5 对序列使用 和 建立由列表组成的列表2.6序列的增量赋值(和)关于 的谜题补充:extend()方法和有什么区别呢?2.7 list.sort方法和内置函数sorted(排序)2.8 用bisect来管理已排序的序列2.8.2用bisect.insort插入元素2.9 当…

数据库 CURD测试题【简单】

文章目录1.组合两个表基本信息要求答案2.第二高的薪水基本信息要求答案3.查找重复的电子邮箱基本信息要求答案4.超过经理收入的员工基本信息要求答案:5.超过5名学生的课信息:要求答案6.有趣的电影信息要求答案7.交换工资(updeta,条件判断&…