flask--虚拟环境
1、安装虚拟环境
mosson@mosson:~$ sudo apt-get install virtualenv
2、创建一个项目目录
mosson@mosson:~$ mkdir myproject
3、进入项目目录
mosson@mosson:~$ cd myproject/
4、利用虚拟环境创建目录
mosson@mosson:~/myproject$ virtualenv venv
5、开启环境
mosson@mosson:~/myproject$ source /spider/bin/activate
效果:
(venv) mosson@mosson:~/myproject$
这个带有(venv)的是一个虚拟的环境 可以在环境里安装你需要的flask的版本,其他各种的软件包,不会与根下的python包有冲突
6、退出虚拟环境:
(venv) mosson@mosson:deactivate
二、简单的demo
1、'hello world'
.py文件
from flask import Flask
from flask import request app = Flask(__name__) @app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
访问方式:

demo2
.py
from flask import Flask
from flask import request app = Flask(__name__) @app.route('/user/<name>')
def user(name):
return '<h1>Hello %s </h1>' % name if __name__ == '__main__':
app.run()
访问方式

demo3:查看浏览器请求头中的 "User_Agent"信息
from flask import Flask
from flask import request app = Flask(__name__) @app.route('/')
def index():
user_agent = request.headers.get('User-Agent')
return '<p>Your browser is %s</p>'%user_agent if __name__ == '__main__':
app.run()
任何时候一个请求来到Flask就会激活(或者称作pushes)application context和request contexts,当请求结束再销毁它们。这意味着请求到来的时候,你可以在当前线程中获取到current_app和g,类似地reqeust和session也能被获取到。当没有激活的application context或者request context的时候,获取这些变量会报错。
如下示例证明了application context是如何工作的:
>>> from hello import app
>>> from flask import current_app
>>> current_app.name
Traceback (most recent call last):
...
RuntimeError: working outside of application context
>>> app_ctx = app.app_context()
>>> app_ctx.push()
>>> current_app.name
'hello'
>>> app_ctx.pop()
默认直接使用current_app.name是会报错的,
直到我们调用了app的app_ctx的push或pop方法改变了current_app的值。
注:这里把push和pop当做一个往current_app写入、推出application context的方法,而不要跟常见的数组的操作方法混淆了。

3、在前端页面中访问函数
url_for('.函数名') 提示:别忘了括号里面的点

函数实例:
from flask import Flask,render_template
from flask import request app = Flask(__name__) @app.route('/services')
def services():
return 'Services'
@app.route('/about')
def about():
return 'About' if __name__ == '__main__':
app.run(debug=True)
效果展示:

点击 Services 或者 About 都会跳转到相应的函数里
4 、正则匹配路由
先定义一个正则转换器:
from werkzeug.routing import BaseConverter
class RegexConverter(BaseConverter):
def __init__(self, url_map, *items):
super(RegexConverter, self).__init__(url_map)
self.regex = items[0]
设置 正则转换器的名字 : regex
app.url_map.converters['regex'] = RegexConverter
在路由里写上正则:
@app.route('/user/<regex("[a-z]{3}"):user_id>')
def user(name):
return '<h1>Hello %s </h1>' % name
常见的 HTTP 方法:
get:
浏览器告知服务器:只获取页面上的信息并发给我
这是最常用的方法
post:
浏览器告诉服务器:想在url上发布新信息,并且
服务器必须确保 数据已存储且存储一次
这是 HTML 表单通常发送数据到服务器
put:
类似 post 但是服务器可能触发了存储过程多次,多次覆盖旧的值
原因:
传输过程中连接可能会丢失
这种情况下,浏览器的服务器之间的系统可能安全地第二次接收请求,而不破坏其他的东西
post 只触发一次,所以 用 post 是不可能
delete:
删除给定位置的信息
head
浏览器告诉服务器:欲获取信息,但是只关心,消息头
应用应像 GET 请求一样来处理,但是不分发实际内容
在 flask中 你完全无需人工干预
底层的 Werkzeug 库已经替我们处理好了
options
给客户端提供一个敏捷的途径来弄清楚这个 url 支持 哪些 HTTP 方法
从 flask 0.6 开始 实现里自动处理
flask--虚拟环境的更多相关文章
- Ubuntu下安装Flask虚拟环境及使用
一.关于Flask介绍 诞生时间:Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug工具箱编写的轻量级Web开发框架. Flask框架包含两 ...
- Python flask虚拟环境安装
1.安装virtualenv 2.在当前路径下创建文件夹,启动虚拟环境 3.在使用虚拟环境前需激活,前面出现(env说明在虚拟环境中).虚拟环境中默认安装了pip,所以直接pip安装flask 4.在 ...
- Flask虚拟环境连接mysql出现1366的解决方案
报错信息 Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABL ...
- windows安装python flask虚拟环境
安装pipenv的虚拟环境主要是为了防止不同python版本之间冲突的问题,虚拟环境安装的包包不会对外部真实环境产生任何作用,只会作用于虚拟环境.这样,一个flask框架应用对应一个pipenv虚拟环 ...
- python之—flask虚拟环境
一.安装: 输入以下命令可以检查系统是否安装了virtualenv : $ virtualenv --version 如果结果显示错误,你就需要安装这个工具. 1.Ubuntu 用户可以使用下述命令安 ...
- Windows下安装flask虚拟环境
前提 已经安装好python2.x或者pyhton3.x的条件下,使用pip包管理工具 flask框架就不作介绍直接安装 开始安装 1. 命令窗口下: 进入windows的命令窗口有三种方式: 第一种 ...
- 初始化 Flask 虚拟环境 命令
参考:<Flask Web开发> 系统:Mac OSX CMD // 激活环境 virtualenv venv source venv/bin/activate // 安装flask pi ...
- can not import Flask错误
在学习flask官方文档——应用构建代码时,遇到了一个小问题照例子敲好代码以后出现了can not import Flask错误,思考很久也没有解决,最后发现是因为应用模块和flask重名了.下面是 ...
- virtualenv 中 install flask 的小问题
最经在学习Python flask 框架 ,用virtualenv建立好我的flask虚拟环境后,执行 sudo pip install flask 并没有报错 我以为已经装上了flask,但当我进入 ...
- flask shell命令
在flask项目目录下,使用pipenv shell激活flask虚拟环境后,调用flask shell能够使用虚拟环境的python解释器进入交互式环境,并且工作目录还保留在flask项目目录. f ...
随机推荐
- 036. asp.netWeb用户控件之五使用用户控件实现分页数据导航
UserDataPager.ascx用户控件代码: <%@ Control Language="C#" AutoEventWireup="true" Co ...
- 存储OS
openfiler这个登陆慢 是https协议的问题 http://www.getnas.com/open-source-nas FreeNAS®,目前最受欢迎的开源免费 NAS 操作系统之一,基于以 ...
- selenium多个窗口切换
浏览器里面支持多窗口打开,例如这样: html里面写了: target="_blank" 造成新打开一个窗口,但是selenium不会自动跳转到新的串口,需要自己切换: # 你打开 ...
- NSIS使用记录
; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "" !define PRODUCT_VERSION ...
- zookeeper 笔记
http://www.biaodianfu.com/zookeeper.html ======= ---- zookeeper这种数据结构有如下这些特点: 1,每个子目录如NameService都被作 ...
- KVO/KVC 实现机理分析
来源:http://blog.csdn.net/dqjyong/article/details/7672865 Objective-C里面的Key-Value Observing (KVO)机制,非常 ...
- quartus II PIN脚相关之一
FPGA设计中有时候会改变输入输出名称,但是会带来一个问题,在PIN 叫配置页面上会有余留的久名称的Pin脚.如实例中,把 FPGA_CLK_50MHZ 名称修改为 FPGA_CLK,经过编译综合之后 ...
- 华为RH2285安装过程及经验总结
安装测试 1.由于服务器为二手服务器,噪音相对较大,如果未经改造无法正常使用,当机器第一次运行的时候,我的血压一下升高不少. 第一步 服务器的远程端口和路由器连接在一起 第二步 设置服务器的bio ...
- ini 文件
INI文件是一个无固定标准格式的配置文件.它以简单的文字与简单的结构组成,常常使用在视窗操作系统,或是其他操作系统上,许多程序也会采用INI文件做为设置程序之用.视窗操作系统后来以注册表的形式替换掉I ...
- oracle中的timestamp字段的值乱码问题修改
我的解决方案: 直接新增一个系统变量: key值为:NLS_TIMESTAMP_FORMATvalue的值为:YYYY-MM-DD HH24:MI:SSFF6 其它解决方案: 在登录PLSQL之后,查 ...