flask入门教程
Ejasmine
时间不等人,向编程海洋进发!
展开
-
flask入门教程(8) - 路由
我们知道,flask可以使用装饰器来指定路由,而这不是唯一的方法,flask还提供了add_url_rule函数,所以如下的代码:@app.route("/")def index(): return render_template("index.html")还能写成这样:def index(): return render_template("index.html")...原创 2019-08-23 17:18:59 · 171 阅读 · 1 评论 -
flask入门教程(16) -视图装饰器
视图装饰器正如名字所说,视图装饰器是用来装饰视图函数的一个装饰器,有些扩展也用到了这一知识,比如GitHub-Flask。现在假设我们来写一个检测用户是否登录的装饰器,这个装饰器仅供学习和理解这个知识点,不能单独运行,需要用到可以自行定制:# app.pyfrom functools import wrapsfrom flask import Flask, gapp = Flask...原创 2019-08-25 13:41:14 · 161 阅读 · 0 评论 -
flask入门教程(17) - 特定时间
特定时间所谓特定时间,就是在某个特殊的时间执行的东西,flask为我们提供了这些:after_request:在每次请求完成后执行teardown_request:不管有没有错误,都在每次请求完成后执行before_request:在每次请求前执行before_first_request:在第一次请求前执行这些都可以被当作装饰器使用:@app.before_requestdef...原创 2019-08-25 13:47:45 · 224 阅读 · 0 评论 -
flask入门教程(5) - 错误
错误网页访问时总是有时候会出现错误,并返回给你404等错误代码,那么我们今天就来看看flask怎么返回错误代码:# app.pyfrom flask import Flask, abortapp = Flask(__name__)@app.route("/")def index(): return abort(404)if __name__ == "__main__":...原创 2019-08-21 10:47:36 · 193 阅读 · 0 评论 -
flask入门教程(18) - 缓存
缓存当你的应用变慢时,你可以考虑使用缓存,flask本身没有提供缓存,但是依赖包werkzeug提供了。使用缓存我们可以使用SimpleCache来使用简单的缓存:from werkzeug.contrib.cache import SimpleCachecache = SimpleCache()cache.set("name", "pynickle")cache.set("age"...原创 2019-08-25 16:56:14 · 288 阅读 · 0 评论 -
flask入门教程(19) - 安全注意事项
安全注意事项网站是容易被攻击的,所以我们要做好准备,我们主要介绍两种方式:XSS(跨站脚本攻击)跨站脚本攻击是指在一个网站的环境中注入恶任意的HTML和js。为了防止这一攻击,我们要转义HTML。在 Flask 中,除非显式指明不转义, Jinja2 会自动转义所有值。这样可以排除所 有模板导致的 XSS 问题,但是其它地方仍需小心:不使用 Jinja2 生成 HTML 。在用户提交...原创 2019-08-25 17:29:43 · 737 阅读 · 0 评论 -
flask入门教程(20) - 部署到heroku
herokuheroku在2010年被Salesforce.com收购。Heroku作为最开始的云平台之一,从2007年6月起开发,当时它仅支持Ruby,但后来增加了对Java、Node.js、Scala、Clojure、Python以及PHP和Perl的支持。它是免费的,所以我们这次部署就以它为例子。开始首先我们在heroku上注册一个账号,然后下载heroku的cli工具,从这里下载:h...原创 2019-08-25 18:02:12 · 590 阅读 · 0 评论 -
flask入门教程(21) - heroku其它知识
os.environ有些配置我们可以编变到heroku自带的config里面去,并用os.environ访问:heroku config:set <变量名>=<变量值>数据库数据库的话,我们要变成postgresql数据库,使用heroku生成数据库:heroku addons:create heroku-postgresql:hobby-dev然后我们可以...原创 2019-08-25 18:18:38 · 280 阅读 · 0 评论 -
flask入门教程(6) - 消息闪现
消息闪现一个应用当然要有合适的反馈给用户,比如注册时可能反馈给用户:你的用户名重复了这时候你就会更改你的用户名,flask自然也提供了这个方法:flashflash使用flash函数我们可以闪现消息,现调整目录结构为:- static - test.jpg- templates - index.html- app.py这里index.html需要用到{% %}语法,...原创 2019-08-21 16:12:22 · 161 阅读 · 0 评论 -
flask入门教程(7) - 会话
会话flask提供了session对象,即会话。允许你在不同请求之间储存信息。这个对象相当于用密钥签名加密的cookie,即用户可以查看你的cookie,但是如果没有密钥就无法修改它:这是我的网站词神上的cookie,大家可以打开我的网站进行查看。使用会话之前你必须设置一个密钥。这之前我们就讲解过,所以这里直接跳过,上代码:import osfrom flask import Fla...原创 2019-08-22 21:17:55 · 225 阅读 · 0 评论 -
flask入门教程(15) -蓝图
蓝图简单来说,蓝图可以把一个应用分成几个模块。开始现在我们来看看蓝图的一个例子,目录结构为:- app.py- example.py首先我们看看example.py演示的是如何使用蓝图:# example.pyfrom flask import Blueprintsimple_page = Blueprint("simple_page", __name__)@simple...原创 2019-08-25 13:34:41 · 216 阅读 · 0 评论 -
flask入门教程(4) - 静态文件
静态文件既然有模板文件,那么图片什么的当然也不能少,这被称为静态文件。那么这些静态文件放哪呢,正如名字一样,应该放在static文件夹里,先给大家安利一张图片以作测试:目前的目录结构:- static - test.jpg- templates - index.htmlapp.py按照正常思路,我们把index.html改成这样:<!DOCTYPE html>...原创 2019-08-20 21:43:51 · 197 阅读 · 0 评论 -
flask入门教程(9) - 添加页面图标
页面图标一个页面当然少不了标志性的页面图标,也就是我们俗称的favicon,也就是一般根目录下那个favicon.ico文件。但是flask的静态文件都放在static文件夹里,favicon.ico也不例外,所以导致网站找不到页面图标,那么怎么办呢?网站会首先请求/favicon.ico以获得图标,所以我们只需要设置路由/favicon.ico来向浏览器传输图标就好了。这里先给大家安利一个...原创 2019-08-23 17:37:55 · 1353 阅读 · 0 评论 -
flask入门教程(10) - SQLAlchemy
数据库网页自然是少不了数据库保存信息,而比较常用的则是SQL关系式数据库,由此,flask-sqlalchemy插件诞生。flask只提供基础,其它部分比如数据库就交给强大的扩展完成,现在开始吧。...原创 2019-08-23 20:01:06 · 187 阅读 · 0 评论 -
flask入门教程(11) - 配置
配置在一个应用中,配置是很重要的一部分,我们之前都是这样配置的:app.config["DEBUG"] = True# 或是app.debug = True然后随着应用的逐渐增大和扩展的增多,在主文件中配置明显不是一个明智的选择,所以我们可以把配置单独放到一个文件中:# config.pyDEBUG = True然后在主文件这样配置:# app.pyapp.config.f...原创 2019-08-23 20:19:52 · 493 阅读 · 0 评论 -
flask入门教程(12) - 信号
信号今天我们来学习信号,信号是由blinker库提供的,现在我们来看看吧。安装pip install blinker示例示例代码如下:# app.pyimport osfrom flask import Flask, render_template, sessionfrom blinker import signalapp = Flask(__name__)app.se...原创 2019-08-24 15:39:43 · 100 阅读 · 0 评论 -
flask入门教程(13) -文件上传
上传文件今天我们来看看如何在flask中处理文件上传,首先看看我们熟悉的html:<!-- index.html --><!DOCTYPE html><html><head> <meta charset="utf-8"></head><body> <form method="...原创 2019-08-24 15:57:20 · 199 阅读 · 0 评论 -
flask入门教程(14) - 表单
表单我们可以看到,flask凭借自身的request已经可以满足表单的需求,但是呢,有人开发出了flask-wtf插件,专门用来处理flask表单,接下来我们就来看一看吧。安装pip install flask-wtf使用首先我们来看代码:import osfrom flask import Flask, render_template, redirect, requestfr...原创 2019-08-24 17:25:40 · 155 阅读 · 0 评论 -
flask入门教程(1) - 第一个flask应用
大家好,许久没写博客了,今天我们将开始flask入门教程系列。话不多说,立刻开始!flask是什么首先我们当然要了解一下flask是什么,简单来说:flask是用来做网站的flask和django目前是python网站框架两大巨头,那么它们有什么区别呢?flask相比django更加方便,适用于创造小型网站,大多依赖插件。django更加重量级,适用于创造大型网站,功能大多自己有...原创 2019-08-20 20:55:57 · 351 阅读 · 0 评论 -
flask入门教程(2) -提示及注意事项
提示首先我们了解一下flask的debug模式,debug也就是调试模式,首先我们来故意制造一个错误:#app.pyfrom flask import Flaskapp = Flask(__name__)@app.route("/")def index(): 1/0 return "Hello World!"if __name__ == "__main__":...原创 2019-08-20 21:12:01 · 196 阅读 · 0 评论 -
flask入门教程(3) - 模板文件
模板文件我们每个路由返回的是一个html,但是在python内部写上一堆html并不好玩,所以这时候就需要render_template来渲染模板文件,模板文件在templates文件夹中,目前目录结构为:- templates - index.html- app.pyindex.html放入我们需要返回的html:<!-- templates/index.html --&g...原创 2019-08-20 21:30:40 · 368 阅读 · 0 评论 -
flask入门教程(22) - 其它知识
make_responsemake_response可以让我们操作response的具体参数:from flask import make_responseresponse = make_response(render_template('index.html'))response.headers['x'] = 'y'return responsesafe_joinsafe_joi...原创 2019-08-27 15:53:38 · 374 阅读 · 0 评论