flask(1)】的更多相关文章

如何理解Nginx, WSGI, Flask(Django)之间的关系 值得指出的是,WSGI 是一种协议,需要区分几个相近的名词: uwsgi 同 wsgi 一样也是一种协议,uWSGI服务器正是使用了 uwsgi 协议 uWSGI 实现了 uwsgi 和 WSGI 两种协议的web服务器.注意 uWSGI 本质上也是一种 web服务器,处于上面描述的三层结构中的 web服务器层. CGI 通用网关接口,并不限于 Python 语言,定义了 web服务器是如何向客户端提供动态的内容.例如,规定…
Flask(六)—— 自定义session import uuid import json from flask.sessions import SessionInterface from flask.sessions import SessionMixin from itsdangerous import Signer, BadSignature, want_bytes class MySession(dict, SessionMixin): def __init__(self, initia…
今天在学习Flask,边看官方文档一边动手运行例子,以注释的形式写了一些笔记,分享给大家. Flask官方文档,快速入门: ex1: #coding:utf-8 ####################### # 1.URL的解析 ###################### from flask import Flask app = Flask(__name__) @app.route('/a') #这里是用于测试笔记2的 def a(): return 'test a' @app.route…
简介: 上一篇,我写了如何使用别人的docker基础镜像,生成我们的docker镜像. 也就最基本的flask,没有别的库(包)支持.连数据库支持都没有. 也就让大家了解一下怎么生成镜像而已. 本篇介绍如何在docker镜像中安装库(包)支持. 其实我也被卡了2天,没搞定. https://github.com/tiangolo/uwsgi-nginx-flask-docker/issues/38 在作者的 github问了,还是自己回答.哥真NB,自己提问,自己解答. 一:选择性的忽略 作者网…
简介: flask也是要部署的.不能老在我们的pycharm里面跑测试服务器. 各种配置linux,我看就算了吧.我们用docker部署. 也就两三行命令. 一:选择基础镜像 GitHub repo: https://github.com/tiangolo/uwsgi-nginx-flask-docker Docker Hub image: https://hub.docker.com/r/tiangolo/uwsgi-nginx-flask/ 这个应该是比较好的,作者维护的也不错,很多人都在用…
快速入门 迫切希望上手?本文提供了一个很好的 Flask 介绍.假设你已经安装 Flask, 如果还没有安装话,请浏览下 安装 . 一个最小的应用 一个最小的应用看起来像这样: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run() 把它保存成 hello.py (或者类似的…
pthon web框架优劣: 知乎上有一个讨论Python 有哪些好的 Web 框架?,从这个讨论中最后我选择了flask,原因是: Django,流行但是笨重,还麻烦,人生苦短,肯定不选 web.py,轻量,但据说作者仙逝无人维护,好吧,先pass tornado,据说倡导自己造轮子,虽然是facebook开源的吧,但听到这个,就算了吧 还有一些其他的就不说了,直到看到一个人做了如下回复,就暂定了flask,再发现flask写RESTful居然超简单,于是就它了 1. 初识Flask Flas…
一.Flask-Session 我们使用过flask内置的session,知道它是把session存放在浏览器,即客户端.今天要学习的flask-session是flask的第三方组件,看一下它和flask内置的session有什么不同以及它的使用方法. flask-session是flask框架的session组件,flask内置session使用签名cookie保存,而该组件则将支持session保存到多个地方,如: - redis - memcached - filesystem - mo…
一.装饰器的坑以及解决方法 1.使用装饰器装饰两个视图函数,代码如下 from flask import Flask, redirect, render_template, request, session app = Flask(__name__) app.secret_key = "wanglili" # 装饰器函数 def outer(func): def inner(*args, **kwargs): if session.get("user"): # 验证…
一.Python 现阶段三大主流Web框架 Django.Tornado.Flask 对比 Django 主要特点是大而全,集成了很多组件(例如Models.Admin.Form等等), 不管你用得到用不到,反正它全都有,属于全能型框架,通常用于大型Web应用,由于内置组件足够强大所以使用Django开发可以一气呵成,优点是大而全,缺点也就暴露出来了,这么多的资源一次性全部加载,肯定会造成一部分的资源浪费: Tornado 主要特点是原生异步非阻塞,在IO密集型应用和多任务处理上占据绝对性的优势…
wtforms 组件的作用: --- 生成 HTML 标签 --- form 表单验证 示例代码: app.py from flask import Flask, render_template, request from wtforms import Form from wtforms.fields import simple from wtforms.fields import core from wtforms.fields import html5 from wtforms import…
Flask的特点: - pip install flask - 短小精悍.可扩展性强的 web框架 注意:上下文管理机制 - 依赖 wsgi:werkzeug Flask的简单示例: from flask import Flask # app = Flask(__name__,template_folder="templates",static_folder="static",static_url_path="/vvv") # template_…
flask Flask 是一个 web 框架.也就是说 Flask 为你提供工具,库和技术来允许你构建一个 web 应用程序.这个 wdb 应用程序可以使一些 web 页面.博客.wiki.基于 web 的日历应用或商业网站. Flask 属于微框架(micro-framework)这一类别,微架构通常是很小的不依赖于外部库的框架.这既有优点也有缺点,优点是框架很轻量,更新时依赖少,并且专注安全方面的 bug,缺点是,你不得不自己做更多的工作,或通过添加插件增加自己的依赖列表.Flask 的依赖…
背景 为啥要学,很久之前就学过点,没写文章 最近因为要写机器人工具,其实就是简单的纯服务端工具 反正 flask 也挺简单,一天快速过完 概念会直接搬教程的,实操自己敲一遍再总结 参考教程 https://read.helloflask.com/c2-hello http://www.imooc.com/wiki/flasklesson Flask 简介 轻:Flask 是一个轻量级的 Web 框架,使用 Python 语言编写 易:较其他同类型框架更为灵活.轻便且容易上手 快:小型团队在短时间…
前言 前面几篇文章讲的路由路径(rule)都是固定的,就是一个路径和一个视图函数绑定,当访问这条路径时会触发相应的处理函数 这样无法处理复杂的情况,比如常见的一个课程分类下有很多个课程,那么他们的 path 可能是 /course/class_1,/course/class_2,/course/class_3...仅最后的序号不同,其他部分都是相同的,如果每一条 path 都写一个单独的视图函数来处理,那复用性会很差,代码量也会很多 所以咱们要使用动态路由,路由中的路径是一个包含有参数的模板,这…
安装 flask Flask 是一个 Web 框架,使用它首先需要安装 pip3 install flask 导入 Flask 模块 import flask 最简单的一个栗子 主代码 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run() import解析 from fla…
1.安装扩展,在虚拟环境中安装 alembic,不懂可以去看pycharm的系列文章. 2.初始化, 使用 Alembic 前需要通过 alembic init 命令创建一个 alembic 项目,该命令创建一个 alembic.ini 配置文件和一个 alembic 档案目录(YOUR_ALEMBIC_DIR). 一般命令是 alembic init migrate 我这windows环境,又不想设置那么多环境变量,用pycharm, 参考以下配置: File--Settings--tools…
简介: 上一篇文章,我们简单的测试了一下服务器环境和docker基础镜像.并没有涉及我们自己编写的flask python程序. 现在,我们就要把我们自己的flask程序,放进docker镜像. 但是比较遗憾的是,本篇没有图形界面操作了. 想继续图形操作的,请自行查阅docker hub自动生成镜像.需配合github. 以后会写这个文章.暂时没有,下次写了,再更新链接. 一:编写flask 这个就不说了吧,我这教部署呢,怎么写flask,另找高明. 测试用的flask代码如下所示: venv文…
一.flask请求上下文源码解读 通过上篇源码分析,我们知道了有请求发来的时候就执行了app(Flask的实例化对象)的__call__方法,而__call__方法返回了app的wsgi_app(environ, start_response)方法的执行结果,而wsgi_app方法中有这样一句话:ctx = self.request_context(environ),还分析除了ctx是RequestContext类的实例化对象,而且ctx中含有有本次请求的request对象和session对象.…
装饰器补充: import functools def auth(func): @functools.wraps(func) # 作用:把原函数的原信息封装到 inner 中 def inner(*args,**kwargs): ret = func(*args,**kwargs) return ret return inner @auth def index(): print("index") # function.__name__ # 获取函数名 print(index.__nam…
简介: 本文是记录本人建立一个flask项目的完整过程. 涉及FLASK的诸多实用技术. 一:基本FLASK pycharm建立FLASK项目即可运行. 代码如下: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'hello' if __name__ == '__main__': app.run() 直接运行即可.pycharm的默认访问地址是http://127.0…
前言 前面文章讲解 Flask 路由的时候,都是将 URL 路径和一个视图函数关联 当 Flask 框架接收到请求后,会根据请求 URL,调用响应的视图函数进行处理 Flask 不仅提供了视图函数来处理请求,还提供了视图类:可以将 URL 路径和一个视图类关联 标准视图函数 将 URL 路径和一个函数关联,这个函数又被称为视图函数,Flask 框架会根据请求的 URL 调用相应的视图函数进行处理 当访问 127.0.0.1:5000/ 时,index() 函数就会处理该请求,并返回 hello…
一.flask中的CBV 对比django中的CBV,我们来看一下flask中的CBV怎么实现? from flask import Flask, render_template, url_for, views app = Flask(__name__) class Login(views.MethodView): def get(self): print(url_for("my_login")) # /login return render_template("login.…
在Python中常用的web框架有flask.Django.tornado # -*- encoding: utf-8 -*- from flask import Flask #建立Flask对象 app = Flask(__name__) mes = Flask(__name__) #使用flask路由器,指定网址和控制器 @app.route('/') @mes.route('/') def index(): return "hello world 你好世界" #使用程序入口,将f…
Flask 中很重要的 request 对象 浏览器访问服务端时,向服务端发送请求 Flask 程序使用 request 对象描述请求信息 当你想获取请求体.请求参数.请求头数据的时候,就需要靠 request 对象了 这一篇会用结果驱动源码解析的方式来讲解 真实使用场景 浏览器访问服务端,需要将相应的数据发送给服务端,可能有如下场景: 通过 URL 参数进行查询,浏览器需要将查询参数发送给服务端 提交表单 form 进行查询,浏览器需要将表单 form 中的字段发送给服务端 上传文件,浏览器需…
前言 之前的文章有个栗子,视图函数可以直接返回一段 html 代码,浏览器可以自动渲染 但是当你的 HTML 非常复杂的话,也要整串写在代码里面吗,这显然不合理的,可阅读性也非常差 所以,就诞生了 Jinja2 这种模板引擎来解决需要返回复杂 jinja2 模板代码的问题 简单的栗子 以下是一个 jinja2 的模板,它对登录和未登录用户显示不同的信息 <html> {% if login %} <p>你好,{{name}}</p> {% else %} <a h…
前言 在前面的例子中,所有的页面处理逻辑都是放在同一个文件中,随着业务代码的增加,将所有代码都放在单个程序文件中是非常不合适的 不仅会让阅读代码变得困难,而且会给后期维护带来麻烦 Flask 中使用蓝图,提供了模块化管理程序路由的功能,使程序结构更加清晰 蓝图简介 随着 Flask 程序越来越复杂,需要对程序进行模块化的处理 蓝图 (Blueprint) 是 Flask 程序的模块化处理机制 它是一个存储视图方法的集合 Flask 程序通过 Blueprint 来组织 URL 以及处理请求 Bl…
前言 Cookie 详解:https://www.cnblogs.com/poloyy/p/12513247.html 这一节来瞧一瞧如何用 Flask 操作 Cookie 接下来就是 实战栗子!!! 功能 list 提供操作 Cookie 的 3 项功能 页面路径 功能 /set_cookie 设置一个名称为 poloyy.值为 https://www.cnblogs.com/poloyy 的 Cookie /get_cooike 在服务端获取名称为 'poloyy' 的 Cookie,并将其…
前言 Session 详解:https://www.cnblogs.com/poloyy/p/12513247.html 这一节来瞧一瞧如何用 Flask 操作 Session 功能 list 提供操作 Session 的 4 项功能 页面路径 功能 /set 在 Session 中存储一个名称为 'user'.值为 'tom' 的变量 /get 获取 Session 中名称为 'user' 的变量 /del 删除 Session 中名称为 'user' 的变量 /clear 清除 Sessio…
查看 app.route() 源代码 def route(self, rule: str, **options: t.Any) -> t.Callable: """Decorate a view function to register it with the given URL rule and options. Calls :meth:`add_url_rule`, which has more details about the implementation. .…