Flask 学习笔记】的更多相关文章

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 是一个Web应用框架,我也就是一边看书,一边写博文做记录 这本书: 首先安装Flask ,和配置环境,参考这边博客: 然后就开始学习Flask 了. 1.Application and Request Context(上下文)在Flask 中,一般一个view function(视图函数)会处理一个请求Flask 中提供request context.保证全局只有一个线程的request,而不会同时出现两个request. Application and Request Contex…
概括 URL:需要操作的对象,也就是资源 HTTP method:我要对该对象做什么(POST 增.DELETE 删.GET 查.PUT 和 PATCH 改) HTTP status code:操作的结果 做到这个,就达成了 REST 的第二层. 视图的定义方式 一般视图都使用 app.route() 装饰器定义,但是这种方式显然不适合用于定义 restful api. 对于 restful 场景,flask 提供了 MethodView 类,可以用基于类的方法来定义视图函数: class Ht…
初始化 使用前必须创建一个应用实例 from flask import Flask app = Flask(__name__) 路由和视图函数 请求流程 客户端(web浏览器)-->  web服务器 --> Flask应用实例 路由概念 应用实例需要知道对每个 URL 的请求要运行哪些代码, 所以保存了一个 URL 到 Python 函数的映射关系.处理 URL 和函数之间关系的程序称为路由. 定义路由 使用app.route 装饰器 @app.route('/') def index():…
Mac(类Linux): pip install virtualenv mkdir testvirtualenv cd testvirtualenv virtualenv flask-env#创建虚拟环境 source bin/activate#激活虚拟环境 deactivate#退出虚拟环境 windows: virtualenv flask-env cd Scripts activate 决定入Flask这个坑竟然是为了给公司的问卷分析产品做一个前端,这样能通过Python对数据库做一些操作…
0x01 参数传递 传递参数的语法是: /<参数名>/,然后在视图函数中,也要定义同名的参数. 参数的数据类型: 1.如果没有指定具体的数据类型,那么默认就是使用string 数据类型. 2.int 数据类型只能传递int类型. 3.float 数据类型只能传递float类型. 4.path 数据类型和string 有点类型,都可以接收任意的字符串,但是path可以接收路径,也就是说可以包含斜杠. 5.uuid 数据类型只能接收符合uuid的字符串.uuid是一个全宇宙都唯一的字符串,一般可以…
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…
Flask 官网:http://flask.pocoo.org/ Flask文档:http://docs.jinkan.org/docs/flask/ 0x01 安装方式 安装步骤很简单,就是这个样子 1.安装python 2.安装flask pip install flask3.安装virtualenv pip install virtualenv 虚拟环境使用: D:\test>pip install virtualenv #安装virtualenv D:\test>mkdir mypro…
源代码从下链接引用:https://www.cnblogs.com/felixwang2/p/9261493.html 我使用的是python3.6 在运行代码的时候遇到了以下问题 session['user_info'] = user  这一行代码报错错误: 解决方案: 加入一行代码  app.config['SECRET_KEY'] = '123456' 这是给了一个固定值 若是要给一个随机值: >>> import os >>> os.urandom(24) '\…
# -*- 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 依赖两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 工具集 由于各个项目工程之间可能存在python库版本的差异 为了防止库版本差异对项目开发产生的影响,使用virtualenv来进行开发和避免以上问题. 安装virtualenv: 1.sudo apt-get install python-virtualenv 2.mkidr myproject 3.cd myproject 4.virtualenv venv   此处是创建了一个名叫venv的虚拟环境 5. …
Python 数据库框架 大多数的数据库引擎都有对应的 Python 包,包括开源包和商业包.Flask 并不限制你使用何种类型的数据库包,因此可以根据自己的喜好选择使用 MySQL.Postgres.SQLite.Redis.MongoDB 或者 CouchDB. 如果这些都无法满足需求,还有一些数据库抽象层代码包供选择,例如SQLAlchemy和MongoEngine.你可以使用这些抽象包直接处理高等级的 python 对象,而不用处理如表.文档或查询语言此类的数据库实体. 选择数据库框架的…
一.Web 服务器与 Web 框架 首先明确一下,要运行一个动态网页,我们需要 一个 Web 服务器来监听并响应请求,如果请求的是静态文件它就直接将其返回,如果是动态 url 它就将请求转交给 Web 应用. 一个 Web 应用来动态处理请求,生成响应 其中 Web 服务器通常都是别人已经实现好了的,它通过定义好的接口与我们编写的 Web 应用通信.WSGI 就是一个统一的 Web 服务器接口标准,如果我们按照 WSGI 编写 Web 应用,那么它就能在任何符合该标准的服务器上运行,例如 Gun…
数据库迁移是将代码中模型类(即表)的修改同步到数据库中, flask-sqlalchemy的模型类一旦使用create_all()映射到数据库中后,对这个模型类的修改(例如添加了一个新的字段)就不会再映射到数据库中了,这时候想要在数据库中得到新的表就需要删掉重新映射一次,可是这样做的话原先表中的数据也没了,这肯定是不行的,数据库中的数据怎么能随便删呢,而数据库迁移操作就完美解决了这个问题. 就像ORM操作有sqlalchemy和flask-sqlalchemy一样,数据库迁移也有alembic和…
Python中使用sqlalchemy插件可以实现ORM(Object Relationship Mapping,模型关系映射)框架,而Flask中的flask-sqlalchemy其实就是在sqlalchemy外进行了一层封装,使得在flask中使用起来更加方便,当然sqlalchemy的原有的方法也都可以使用.也就是说sqlalchemy在普通的Python程序中也可以使用,而flask-sqlalchemy是为flask“定制”的. 我这里使用的是MySQL数据库,Python3中对应的驱…
1.搭建虚拟环境 a. 安装 virtualenv : pip3 install virtualenv b. 建立虚拟环境 : 任意目录下建立一个空文件(我的是 Py_WorkSpace) ,在该文件中启动cmd,执行 virtualenv venv c. 安装后进入 Scripts目录启虚拟环境并安装flask d. 退出虚拟环境 deactivate 2.使用Pycharm进入虚拟环境 : 直接将项目切换到刚才建立的文件夹( Py_WorkSpace)即可…
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…
使用pycharm搭建Flask运行环境 1. 打开pycharm ,创建一个新的工程 2. 选择创建Flask项目 3. Flask项目创建成功,结构如下 4. 运行项目 5. 发送请求 over!…
先新建一个文件夹  templates from flask import Flask #创建Flask应用程序实例 #需要传入__name__,作用是为了确定资源所在的路径 app = Flask(__name__) #定义路由及视图函数 #Flask中定义路由是通过装饰器实现的 #路由默认只支持GET,如果需要增加,需要自行指定 @app.route('/', methods=['GET','POST']) def index(): return 'hello flask' #使用同一个视图…
1.路由用"/"结尾. 比如@app.route("/about/"),可以匹配/about和/about/,而@app.route("/about")不能匹配/about/ 2.url_for:就是一个根据函数名,找到对应路由,返回一个url字符串的函数而已. 3.静态地址默认为static,可以访问静态文件,如http://127.0.0.1/static/logo.png…
一.视图函数的传参方式 修改前: 目标: 传参方式改成 途径: 通过request获取参数 注意:args并不是地点类型,而是dict的一个子类,如图: immutable意思是不可变 不可变的字典转成可变的字典 调用to_dict()函数即可实现把不可变的字典转为可变的字典.如图: request所在的方法,必须是由http请求触发 验证客户端传入的参数--wtforms wtforms内置很多参数对象,帮助你快速完成参数校验.…
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…
Flask学习 安装pipenv虚拟环境 pip Install pipenv 运行pipenv pipenv --version 进入虚拟容器 pipenv install 安装flask pipenv install flask 调用flask form flask import Flask 声名路由(对比url) @app.route('hello') 设置默认参数 @app.route('bugman',defaults={'name':'bugman') @app.route('/bu…
Flas-SQLAchemy数据库操作使用学习笔记 Flask-SQLALchemy 是一个给你的应用添加 SQLALchemy 支持的 Flask 扩展.SQLALchemy 是Python语言的SQL工具包及对象关系映射(ORM)工具,使用MIT许可证发行,提供能兼容众多数据库(如 SQLite.MySQL.Postgres.Oracle.MS-SQL.SQLServer 和 Firebird)的企业级持久性模型. 一.为你的Flask应用加载Flask-SqlAlchemy扩展 Code…
beego简介 beego是一个快速开发Go应用的http框架,他可以用来快速开发API.Web.后端服务等各种应用,是一个RESTFul的框架,主要设计灵感来源于tornado.sinatra.flask这三个框架,但是结合了Go本身的一些特性(interface.struct继承等)而设计的一个框架. beego的架构 beego的整体设计架构如下所示: beego是基于八大独立的模块之上构建的,是一个高度解耦的框架.当初设计beego的时候就是考虑功能模块化,用户即使不适用beego的ht…
原文链接:Python Click 学习笔记 Click 是 Flask 的团队 pallets 开发的优秀开源项目,它为命令行工具的开发封装了大量方法,使开发者只需要专注于功能实现.恰好我最近在开发的一个小工具需要在命令行环境下操作,就写个学习笔记. 国际惯例,先来一段 "Hello World" 程序(假定已经安装了 Click 包). # hello.py import click @click.command() @click.option('--count', default…