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--虚拟环境的更多相关文章

  1. Ubuntu下安装Flask虚拟环境及使用

    一.关于Flask介绍 诞生时间:Flask诞生于2010年,是Armin ronacher(人名)用 Python 语言基于 Werkzeug工具箱编写的轻量级Web开发框架. Flask框架包含两 ...

  2. Python flask虚拟环境安装

    1.安装virtualenv 2.在当前路径下创建文件夹,启动虚拟环境 3.在使用虚拟环境前需激活,前面出现(env说明在虚拟环境中).虚拟环境中默认安装了pip,所以直接pip安装flask 4.在 ...

  3. Flask虚拟环境连接mysql出现1366的解决方案

    报错信息 Warning: (1366, "Incorrect string value: '\xD6\xD0\xB9\xFA\xB1\xEA...' for column 'VARIABL ...

  4. windows安装python flask虚拟环境

    安装pipenv的虚拟环境主要是为了防止不同python版本之间冲突的问题,虚拟环境安装的包包不会对外部真实环境产生任何作用,只会作用于虚拟环境.这样,一个flask框架应用对应一个pipenv虚拟环 ...

  5. python之—flask虚拟环境

    一.安装: 输入以下命令可以检查系统是否安装了virtualenv : $ virtualenv --version 如果结果显示错误,你就需要安装这个工具. 1.Ubuntu 用户可以使用下述命令安 ...

  6. Windows下安装flask虚拟环境

    前提 已经安装好python2.x或者pyhton3.x的条件下,使用pip包管理工具 flask框架就不作介绍直接安装 开始安装 1. 命令窗口下: 进入windows的命令窗口有三种方式: 第一种 ...

  7. 初始化 Flask 虚拟环境 命令

    参考:<Flask Web开发> 系统:Mac OSX CMD // 激活环境 virtualenv venv source venv/bin/activate // 安装flask pi ...

  8. can not import Flask错误

    在学习flask官方文档——应用构建代码时,遇到了一个小问题照例子敲好代码以后出现了can not import  Flask错误,思考很久也没有解决,最后发现是因为应用模块和flask重名了.下面是 ...

  9. virtualenv 中 install flask 的小问题

    最经在学习Python flask 框架 ,用virtualenv建立好我的flask虚拟环境后,执行 sudo pip install flask 并没有报错 我以为已经装上了flask,但当我进入 ...

  10. flask shell命令

    在flask项目目录下,使用pipenv shell激活flask虚拟环境后,调用flask shell能够使用虚拟环境的python解释器进入交互式环境,并且工作目录还保留在flask项目目录. f ...

随机推荐

  1. mysql-创建库之问题

    一.在登入mysql命令行,创建数据库时报错 ERROR 1044 (42000): Access denied for user ''@'localhost' to database 'xiaolu ...

  2. 生成freemarker静态页面的工具类

    package cn.bocai.pc.util; import java.io.BufferedWriter;import java.io.File;import java.io.FileOutpu ...

  3. NSIS使用记录

    ; 该脚本使用 HM VNISEdit 脚本编辑器向导产生 ; 安装程序初始定义常量 !define PRODUCT_NAME "" !define PRODUCT_VERSION ...

  4. 关于CGContextSetBlendMode: invalid context 0x0的错误

    在ios 7的模拟器中,选择一个输入框准备输入时,会触发这个错误,以下是出错详细日志: <Error>: CGContextSetBlendMode: invalid context 0x ...

  5. JavaScript 数据验证类

    JavaScript 数据验证类 /* JavaScript:验证类 author:杨波 date:20160323 1.用户名验证 2.密码验证 3.重复密码验证 4.邮箱验证 5.手机号验证 6. ...

  6. 在此页上的ActiveX控件和本页上的其他部分的交互可能不安全,你想允许这种交互吗

    转自 http://www.cnblogs.com/zdxster/archive/2011/01/27/1945868.html 在EOS6的项目中,如果采用VC++开发的ActiveX,那么第一次 ...

  7. oracle10g在rh6上安装缺少libXtst*的包导致不能出OUI

    由于测试需要,今天在linux6.0上装了下oracle10g,确实是知道oracle10g已经不支持redhat5.0以后的版本了,但是根据自己以往在redhat5.0上装oracle的经验就鲁莽下 ...

  8. quartus II PIN脚相关之一

    FPGA设计中有时候会改变输入输出名称,但是会带来一个问题,在PIN 叫配置页面上会有余留的久名称的Pin脚.如实例中,把 FPGA_CLK_50MHZ 名称修改为 FPGA_CLK,经过编译综合之后 ...

  9. <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 的说明

    X-UA-Compatible是针对ie8新加的一个设置,对于ie8之外的浏览器是不识别的,这个区别与 content="IE=7"在无论页面是否包含<!DOCTYPE> ...

  10. Extract QQ from iPhone and analyze it

    QQ is one of the most popular chat App in the world. Now let me show you how to extract QQ from iPho ...