自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 手机端访问pc端网页

手机访问不到自己写的网页以及大小排版不合适,需要留意两点。        手机访问不到自己写的网页:        虚拟机把NAT模式改成桥接模式。虚拟机-->设置-->网络适配器-->桥接模式-->重启。        大小排版在手机端不合适:        在head标签里加    <meta name=”viewport” content=”width=devi...

2018-06-26 21:50:02 1038 2

原创 请求勾子after_request

 after_request:如果没有抛出错误,在每次请求后执行    接受一个参数:视图函数作出的响应在此函数中可以对响应值在返回之前做最后一步修改处理需要将参数中的响应在此参数中进行返回    # 在这里增加请求勾子(请求勾子的作用:访问任何一个请求都会增加),在请求之后设置cookie(对返回值做进一步处理,增加随机值) # 我们无法判断用户第一次访问网站时,是哪一个页面,不能写死给...

2018-06-24 23:26:54 2407

原创 密码加盐

密码不能以明文形式保存到数据库中,否则数据泄露密码就会被知道。而一般的加密方式由于加密规则固定,很容易被破解,安全系数不高。密码加盐的加密方式,能很好的解决这一点。密码加盐:密码加盐里包含随机值和加密方式。随机值是电脑随机产生的,并且以随机的方式混在原始密码里面,然后按照加密方式生成一串字符串保存在服务器。换言之,这个是单向的,电脑也不知道客户的原始密码,即使知道加密方式,反向推出的加密前的字符串...

2018-06-23 11:13:19 3621

原创 防止跨站攻击——CSRFToken

怎么防止跨站攻击:表单:在 Form 表单中添加一个隐藏的的字段,值是 csrf_token。非表单:在ajax获取数据时,添加headers:{ 'X-CSRFToken':getCookie('csrf_token') }。原理:在浏览器访问网站A时,网站A设置cookie会增加随机值csrf_token,这个值是随机的。返回给浏览器时,cookie会储存在浏览器,同时会把csrf_token...

2018-06-22 22:44:42 12826 5

原创 CSRF跨站伪造请求

什么是CSRF跨站伪造请求:用户登录安全网站A成功后,然后在没有退出登录的情况下,又登录了不安全网站B,点击一些链接,因为是用的同一浏览器,不安全网站B可以通过浏览器伪装成该用户身份向网站A发出请求做一些非法操作(隐藏在链接里面)。网站A:@app.route('/transfer', methods=["POST", "GET"]) def transfer(): # 从...

2018-06-22 09:42:37 344

原创 manager,config和info代码抽取

       在整个项目文件夹中,除了启动文件 manage.py 和配置文件 config.py 放在根目录,其他具体业务逻辑文件都放在一个单独的文件夹info内,与 manage.py 同级。manage.py管理程序启动import loggingfrom flask_script import Managerfrom flask_migrate import Migrate, Migr...

2018-06-20 23:49:05 484

原创 Blueprint延伸——文件夹

上一篇是怎么通过单独的模块实现Blueprint,来将单独的功能视图函数放在里面。但这样的在实际并不实用,这节讲述如何将模块的抽取到一个包里面,即文件夹。"""1. 导入蓝图, 创建蓝图对象,导入子模块2. 使用蓝图对象实现路由3. 在app创建的地方注册路由"""文件夹user里面有模块 __init__.py , views.py :__init__.py# 1. 导入蓝图, 创建蓝图...

2018-06-15 19:55:59 417

原创 Blueprint

作用:对项目进行模块化,方便对代码的管理,把一部分其它功能的视图函数抽取到其它模块上,而要让这些视图函数也能运行,就要用蓝图来实现。如下面,将manager里面的视图函数抽取到cart模块里面。实现步骤:1. 导入蓝图, 并创建蓝图对象2. 使用蓝图对象实现路由3. 在app创建的地方注册蓝图cart.py模块:# 1. 导入蓝图, 并创建蓝图对象from flask import Blue...

2018-06-14 23:54:13 373

原创 relationship:关系引用和反向关系引用

db = SQLAlchemy(app)# relationship: 增加了关系引用,为了查询方便. 由原先的2次查询, 改为了1次查询# 一个角色对应多个用户:一的一方(Role)定义关系引用和反向引用. 多的一方(User)定义外键# users 是为了当前模型方便查询定义的. backref='role', 这里的role是给关联模型提供的查询属性class Role(db.Mode...

2018-06-11 23:47:46 1395

原创 继承、宏、包含

继承: 1、创建父类模块news_base.html,所有子类的代码都合并写在父类模块news_base.html里面。                  子类之间代码不同的地方在父类中抽取成{%block 名称 %} {% endblock %}。             2、子类:{% extends 'news_base.html' %}继承父类。                      ...

2018-06-09 22:55:20 471

原创 CSS,HTML,JAVASCRIPT

流程:HTML将元素进行定义,CSS对展示的元素进行定位,再通过JavaScript实现相应的效果和交互。各自作用: 1、HTML:页面结构。                        2、CSS:页面表现:元素大小、颜色、位置、隐藏或显示、部分动画效果。                         3、JavaScript:页面行为:部分动画效果、页面与用户的交互、页面功能。分工:HT...

2018-06-04 01:19:03 399

空空如也

空空如也

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

TA关注的人

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