[Flask]学习Flask第三天笔记总结】的更多相关文章

from flask import Flask,render_template,request from others import checkLogin app = Flask(__name__) #从templates里引用index.html #return render_template("index.html") @app.route('/') def index(): return '''<form action="/login" method=&…
再Jinjia2中过滤器是一种转变变量输出内容的技术.··过滤器通过管道符号“|与变量链接,并且可以通过圆括号传递参数” .举例说明: {{my_variable|default('my_variable is not defined')}} my_variable 为变量,default为过滤器,my_variable is not defined是过滤器的参数.default过滤器的含义是:判断被转换的变量是否被定义过,如果没有被定义,则用字符串参数替换被转换的变量. 下面列出几个常用的过滤…
因为0.1版本整体代码大概只有350行,比较简单.所以本篇文章会以Flask 0.1版本源码为基础进行剖析Flask应用的启动过程. Flask参考资料flask,官网有一个最简单app: from flask import Flask app = Flask(__name__) @app.route('/hello') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run(host='0.0.0.…
一.WSGI为什么会出现? 在学习一个东西之前,我们肯定想知道:它为什么会出现?那么,WSGI为什么会出现呢? 我们知道,部署一个web应用,经常需要使用nginx.apache或者IIS等web服务器把web应用跑起来,然后用户在浏览器可以通过URL进行访问. 为了能够让各种web服务器都能支持web应用,所以必须在web应用和web服务器之间有一个统一的规范(协议). 其实,在PEP 3333中也有提到它的目标: 为了定义了一个“ Web 服务器和 Python Web 应用程序或框架之间”…
一.__call__() 在Flask app启动后,一旦uwsgi收到来自web server的请求,就会调用后端app,其实此时就是调用app的__call__(environ,start_response). flask.py: def __call__(self, environ, start_response): return self.wsgi_app(environ, start_response) 二.wsgi_app() 当http请求从server发送过来的时候,他会启动__…
一.前言 前面在Flask学习-Flask基础之WSGI中提到了WerkZeug,我们知道,WerkZeug是一个支持WSGI协议的Server,其实还有很多其他支持WSGI协议的Server.http://wsgi.readthedocs.io/en/latest/servers.html,这里可以看到有uwsgi.werkzeug.serving.wsgiref.python-fastcgi等等几十个.wsgiref是官方给出的一个实现了WSGI标准用于演示用的简单Python内置库,它实现…
Flask 是一个Web应用框架,我也就是一边看书,一边写博文做记录 这本书: 首先安装Flask ,和配置环境,参考这边博客: 然后就开始学习Flask 了. 1.Application and Request Context(上下文)在Flask 中,一般一个view function(视图函数)会处理一个请求Flask 中提供request context.保证全局只有一个线程的request,而不会同时出现两个request. Application and Request Contex…
Python Flask学习笔记之模板 Jinja2模板引擎 默认情况下,Flask在程序文件夹中的templates子文件夹中寻找模板.Flask提供的render_template函数把Jinja2模板引擎集成到了程序中. 渲染模板 创建文件夹 mkdir app/templates 改写代码 # routes.py from flask import render_template from app import app @app.route('/') @app.route('/index…
Python Flask学习笔记之Hello World 安装virtualenv,配置Flask开发环境 virtualenv 虚拟环境是Python解释器的一个私有副本,在这个环境中可以安装私有包,而且不会影响系统中安装到全局Python解释器.虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突,为每个程序单独创建虚拟环境,可以保证程序只能访问虚拟环境中的包从而保持全局解释器的干净整洁. 安装 sudo apt-get install python-virtualen…
Flask 学习(三)模板 Flask 为你配置 Jinja2 模板引擎.使用 render_template() 方法可以渲染模板,只需提供模板名称和需要作为参数传递给模板的变量就可简单执行. 至于模板渲染? 简单来说,就是将“数据”渲染到你的模板里.看完以下章节示例你就会知道了. (其实更为推荐的方式是前后端分离,不推荐用Flask模板,以下仅供学习参考) 模板基础 先来看一个最简单的模板示例: from flask import Flask, render_template from mo…
基于Flask框架搭建视频网站的学习日志(三)1.原始Web 表单 本节主要用于体验一下前端后端直接数据的交互,样例不是太完善,下一节会加入Flash处理,稍微完善一下页面 (备注:建议先阅读廖雪峰老师的博客,MVC:Model-View-Controller,中文名"模型-视图-控制器") 负责HTML页面数据采集,通过表单将用户输入的数据提交给服务器.(Flask-WTF扩展封装了WTForms,并且有验证表单数据的功能,这样就可以少写很多验证输入数据的代码,比如判断两次输入的密码…
0x01 第一个小程序 PyCharm新建一个flask项目,第一个小程序,我们来看一下 #引入flask类 from flask import Flask #将Flask对象实例化 app = Flask(__name__) #装饰器,定义路由规则 @app.route('/') #视图函数 def hello_world(): return 'Hello World!' #模块运行入口函数 if __name__ == '__main__': app.run() 0x02 调试模式 设置de…
一.Web 服务器与 Web 框架 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 Web 应用来动态处理请求,生成响应 其中 Web 服务器通常都是别人已经实现好了的,它通过定义好的接口与我们编写的 Web 应用通信.WSGI 就是一个统一的 Web 服务器接口标准,如果我们按照 WSGI 编写 Web 应用,那么它就能在任何符合该标准的服务器上运行,例如 Gun…
Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqlalchemy外进行了一层封装,使得在flask中使用起来更加方便,当然sqlalchemy的原有的方法也都可以使用.也就是说sqlalchemy在普通的Python程序中也可以使用,而flask-sqlalchemy是为flask“定制”的. 我这里使用的是MySQL数据库,Python3中对应的驱…
web表单 pip install flask-wtf 实现csrf保护 app.config['SECRET_KEY']='hard to guess string' # 可以用来存储框架,扩展,程序等的配置变量 #支持的字段 StringField 文本字段 TextAreaField 多行文本字段 PasswordField 密码文本字段 HiddenField 隐藏文本字段 DateField 文本字段,值为datetime.date格式 DateTimeField 文本字段,值为dat…
初始化 使用前必须创建一个应用实例 from flask import Flask app = Flask(__name__) 路由和视图函数 请求流程 客户端(web浏览器)-->  web服务器 --> Flask应用实例 路由概念 应用实例需要知道对每个 URL 的请求要运行哪些代码, 所以保存了一个 URL 到 Python 函数的映射关系.处理 URL 和函数之间关系的程序称为路由. 定义路由 使用app.route 装饰器 @app.route('/') def index():…
0x01 参数传递 传递参数的语法是: /<参数名>/,然后在视图函数中,也要定义同名的参数. 参数的数据类型: 1.如果没有指定具体的数据类型,那么默认就是使用string 数据类型. 2.int 数据类型只能传递int类型. 3.float 数据类型只能传递float类型. 4.path 数据类型和string 有点类型,都可以接收任意的字符串,但是path可以接收路径,也就是说可以包含斜杠. 5.uuid 数据类型只能接收符合uuid的字符串.uuid是一个全宇宙都唯一的字符串,一般可以…
# -*- coding:utf-8 -*- from flask import render_template,Flask app=Flask(__name__) @app.route('/hello/') @app.route('/hello/<name>') def hello(name=None): return render_template('hello.html',name=None) if __name__=='__main__': app.run(debug=True) ''…
#-*- coding:utf-8 -*- from flask import Flask app=Flask(__name__) @app.route('/post/<int:postid>') def show_post(postid): return 'Id %d' %postid @app.route('/user/<username>') def show_username(username): return 'User %s' %username if __name__…
#-*- coding:utf-8 -*- #导入了Flask类 这个类的实例将会是我们的WSGI应用程序 from flask import Flask #创建一个Flask类的实例 第一个参数是应用模块或者包的名称 #使用的是单一模块 使用__name__ app=Flask(__name__) #route()装饰器 告诉Flask什么样的URL能触发我们的函数 #这个函数的名字也在生成 URL 时被特定的函数采用,这个函数返回我们想要显示在用户浏览 #器中的信息 @app.route('…
一. flask简介 flask是一款非常流行的python web框架,出生于2010年,作者是Armin Ronacher,本来这个项目只是作者在愚人节的一个玩笑,后来由于非常受欢迎,进而成为一个正式的项目.目前为止最新的版本是1.0.2 flask自2010年发布第一个版本以来,大受欢迎,深得开发者的喜爱,并且在多个公司已经得到了应用,flask能如此流行的原因,可以分为以下几点: 微框架.简洁.只做他需要做的,给开发提供了很大的扩展性 flask和相关的依赖(Jinja2.Werkzeu…
1. endpoint from flask import Flask, url_for # 实例化一个Flask对象 app = Flask(__name__) # 打印默认配置信息 # 引入开发环境的配置 app.config.from_object('settings.DEV') # 引入生产环境的配置 # app.config.from_object('settings.Pro') @app.route('/index', methods=['GET', 'POST'], endpoin…
1. Flask默认的配置 Flask实例中包含了它的配置信息 #实例化一个Flask对象 app = Flask(__name__) # 打印默认配置信息 print(app.config) 打印结果如下: < Config { 'ENV': 'production', 'DEBUG': False, 'TESTING': False, 'PROPAGATE_EXCEPTIONS': None, 'PRESERVE_CONTEXT_ON_EXCEPTION': None, 'SECRET_KE…
先新建一个文件夹  templates from flask import Flask #创建Flask应用程序实例 #需要传入__name__,作用是为了确定资源所在的路径 app = Flask(__name__) #定义路由及视图函数 #Flask中定义路由是通过装饰器实现的 #路由默认只支持GET,如果需要增加,需要自行指定 @app.route('/', methods=['GET','POST']) def index(): return 'hello flask' #使用同一个视图…
Flask学习笔记: GitHub上面的Flask实践项目 https://github.com/SilentCC/FlaskWeb 1.Application and Request Context(上下文) 在Flask 中,一般一个view function(视图函数)会处理一个请求 Flask 中提供request context.保证全局只有一个线程的request,而不会同时出现两个request. Application and Request Context 一共有四种 curr…
From: http://www.cnblogs.com/agmcs/p/4445583.html 各种查询方式:http://www.360doc.com/content/12/0608/11/9369336_216812259.shtml Flask-SQLAlchemy库让flask更方便的使用SQLALchemy,是一个强大的关系形数据库框架,既可以使用orm方式操作数据库,也可以使用原始的SQL命令. Flask-Migrate 是一个数据迁移框架,需要通过Flask-script库来…
WSGIapp.run()werkzeug@app.route('/')ContextLocalLocalStackLocalProxyContext CreateStack pushStack popRequestResponseConfig 一直想做源码阅读这件事,总感觉难度太高时间太少,可望不可见.最近正好时间充裕,决定试试做一下,并记录一下学习心得. 首先说明一下,本文研究的Flask版本是0.12. 首先做个小示例,在pycharm新建flask项目"flask_source"…
Flask  路由 在说明什么是 Flask 路由之前,详细阐述下 Flask “Hello World” 这一 最小应用的代码. Flask “Hello World” from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello World' if __name__ = '__main__': app.run() 剖析上述代码: 1. 首先,我们导入了类 Flask .这个类的…
一.写在前面 正所谓“纸上得来终觉浅,方知此事要躬行”,在看文档和视频之余,我觉得还是要动手做点什么东西才能更好地学习吧,毕竟有些东西光看文档真的难以理解,于是就试着使用Flask框架做了一个简易留言板,实现了注册.登录和留言的功能. 二.开发环境 系统:Windows10 Python版本:Python3.7 Flask版本:Flask 1.0.2 MySQL版本:MySQL8.0 三.具体步骤 1.连接数据库 在做连接MySQL数据库的时候碰到了一堆问题,在上两篇博客中都有提到,这里就不多说…
英文博客地址:http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-vi-profile-page-and-avatars 中文翻译地址:http://www.pythondoc.com/flask-mega-tutorial/profile.html 开源中国社区:http://www.oschina.net/translate/the-flask-mega-tutorial-part-vi-profile-page-…