安装 Flask

好的,让我们开始吧!

现在我们必须开始安装 Flask 以及一些我们会用到的扩展。我首选的方式就是创建一个虚拟环境,这个环境能够安装所有的东西,而你的主 Python 不会受到影响。另外一个好处就是这种方式不需要你拥有管理员权限。

因此,打开一个终端窗口,选择一个你想要放置应用程序的位置以及创建一个包含它的新的文件夹。让我们把这个应用程序的文件夹称为 microblog 。

如果你正在使用 Python 3.4,先进入到 microblog 目录中接着使用如下的命令创建一个虚拟环境:

$ python -m venv flask

需要注意地是在某些系统中你可能要使用 python3 来代替 python。上面的命令行在 flask 文件夹中创建一个完整的 Python 环境。

如果你使用 Python 3.4 以下的版本(包括 python 2.7),你需要在创建虚拟环境之前下载以及安装virtualenv.py。如果你在使用 Mac OS X,请使用下面的命令行安装:

$ sudo easy_install virtualenv

如果你使用 Linux,你需要获取一个包。例如,如果你使用 Ubuntu:

$ sudo apt-get install python-virtualenv

Windows 用户们在安装 virtualenv 上有些麻烦,因此如果你想省事的话,请直接安装 Python 3.4。在 Windows 上安装 virtualenv 最简单地方式就是先安装 pip,安装方式在 这里 <https://pip.pypa.io/en/latest/installing.html>。一旦安装好了 pip 的话,下面的命令可以安装 virtualenv:

$ pip install virtualenv

为了创建一个虚拟环境,请输入如下的命令行

$ virtualenv flask

上面的命令行在 flask 文件夹中创建一个完整的 Python 环境。

虚拟环境是能够激活以及停用的,如果需要的话,一个激活的环境可以把它的 bin 文件夹加入到系统路径。我个人是不喜欢这种特色,所以我从来不激活任何环境相反我会直接输入我想要调用的解释器的路径。

如果你是在 Linux, OS X 或者 Cygwin 上,通过一个接一个输入如下的命令行来安装 flask 以及扩展:

$ flask/bin/pip install flask
$ flask/bin/pip install flask-login
$ flask/bin/pip install flask-openid
$ flask/bin/pip install flask-mail
$ flask/bin/pip install flask-sqlalchemy
$ flask/bin/pip install sqlalchemy-migrate
$ flask/bin/pip install flask-whooshalchemy
$ flask/bin/pip install flask-wtf
$ flask/bin/pip install flask-babel
$ flask/bin/pip install guess_language
$ flask/bin/pip install flipflop
$ flask/bin/pip install coverage

如果是在 Windows 上的话,命令行有些不同

$ flask\Scripts\pip install flask
$ flask\Scripts\pip install flask-login
$ flask\Scripts\pip install flask-openid
$ flask\Scripts\pip install flask-mail
$ flask\Scripts\pip install flask-sqlalchemy
$ flask\Scripts\pip install sqlalchemy-migrate
$ flask\Scripts\pip install flask-whooshalchemy
$ flask\Scripts\pip install flask-wtf
$ flask\Scripts\pip install flask-babel
$ flask\Scripts\pip install guess_language
$ flask\Scripts\pip install flipflop
$ flask\Scripts\pip install coverage

这些命令行将会下载以及安装我们将会在我们的应用程序中使用的所有的包。

在 Flask 中的 “Hello, World”

现在在你的 microblog 文件夹中下有一个 flask 子文件夹,这里有 Python 解释器以及 Flask 框架以及我们将要在这个应用程序中使用的扩展。 是时候去编写我们第一个 web 应用程序!

在 cd 到 microblog 文件夹后,我们开始为应用程序创建基本的文件结构:

mkdir app
mkdir app/static
mkdir app/templates
mkdir tmp

可以在终端中挨个的创建文件夹,同样也可以在编辑器中直接创建flask项目

我们的应用程序包是放置于 app 文件夹中。子文件夹 static 是我们存放静态文件像图片,JS文件以及样式文件。子文件夹 templates 显然是存放模板文件。

让我们开始为我们的 app 包(文件 app/__init__.py )创建一个简单的初始化脚本:

from flask import Flask

app = Flask(__name__)
from app import views

上面的脚本简单地创建应用对象,接着导入视图模块,该模块我们暂未编写。

视图是响应来自网页浏览器的请求的处理器。在 Flask 中,视图是编写成 Python 函数。每一个视图函数是映射到一个或多个请求的 URL。

让我们编写第一个视图函数(文件 app/views.py ):

from app import app

@app.route('/')
@app.route('/index')
def index():
return "Hello, World!"

其实这个视图是非常简单,它只是返回一个字符串,在客户端的网页浏览器上显示。两个 route 装饰器创建了从网址 / 以及 /index 到这个函数的映射。

能够完整工作的 Web 应用程序的最后一步是创建一个脚本,启动我们的应用程序的开发 Web 服务器。让我们称这个脚本为 run.py,并把它置于根目录:

#!flask/bin/python
from app import app
app.run(debug = True)

这个脚本简单地从我们的 app 包中导入 app 变量并且调用它的 run 方法来启动服务器。请记住 app 变量中含有我们在之前创建的 Flask 实例。

要启动应用程序,您只需运行此脚本(run.py)。在OS X,Linux 和 Cygwin 上,你必须明确这是一个可执行文件,然后你可以运行它:

chmod a+x run.py

然后脚本可以简单地按如下方式执行:

./run.py

在 Windows 上过程可能有些不同。不再需要指明文件是否可执行。相反你必须运行该脚本作为 Python 解释器的一个参数:

flask/Scripts/python run.py

在服务器初始化后,它将会监听 5000 端口等待着连接。现在打开你的网页浏览器输入如下 URL:

http://localhost:5000

另外你也可以使用这个 URL:

http://localhost:5000/index

你看清楚了路由映射是如何工作的吗?第一个 URL 映射到 /,而第二个 URL 映射到 /index。这两个路由都关联到我们的视图函数,因此它们的作用是一样的。如果你输入其它的网址,你将会获得一个错误,因为只有这两个 URL 映射到视图函数。

安装配置flask环境的更多相关文章

  1. Linux安装配置php环境的方法

    本文实例讲述了Linux安装配置php环境的方法.分享给大家供大家参考,具体如下: 1.获取安装文件: http://www.php.net/downloads.php php-5.3.8.tar.g ...

  2. 安装配置tomcat环境

    安装配置tomcat环境 #所需要软件包 apache-tomcat-7.0.65.tar.gz    jdk-7u80-linux-x64.gz    #建立 个专用账户 usradd tomcat ...

  3. PHP学习笔记----IIS7下安装配置php环境

    原文:PHP学习笔记----IIS7下安装配置php环境 Php如何安装 Php版本的选择 Php在windows下的(php5.4.7)有两种版本: VC9 x86 Non Thread Safe ...

  4. iis7.5安装配置php环境详细清晰教程,三步实现【图文】

    iis7.5安装配置php环境详细清晰教程,三步实现[图文] iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.w ...

  5. Android Studio安装配置、环境搭建详细步骤及基本使用

    前言 Android Studio的安装配置及使用篇终于来啦~ 废话不多说,以下针对JDK正确安装(及其环境变量配置完毕,即Java开发环境下).Android Studio的安装,配置,以及创建工程 ...

  6. iis7.5安装配置php环境

    前言 iis7.5是安装在win7.win8里的web服务器,win2003.win2000的web服务器使用的是iis6.0,由于win7.win8系统相比win2003.win2000有了改新革面 ...

  7. Ubuntu安装配置Qt环境

    安装 QT4.8.6库+QT Creator 2.4.1 下载地址发布 QT4.8.6库  http://mirrors.hustunique.com/qt/official_releases/qt/ ...

  8. mac 安装配置java环境变量

    1.下载java 地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 2.选择 ...

  9. zzUbuntu安装配置Qt环境

    zz from http://blog.csdn.net/szstephenzhou/article/details/28407417 安装 QT4.8.6库+QT Creator 2.5.0 下载地 ...

随机推荐

  1. The Python Standard Library

    The Python Standard Library¶ While The Python Language Reference describes the exact syntax and sema ...

  2. day 55 Django基础五之django模型层(一)单表操作

      Django基础五之django模型层(一)单表操作   本节目录 一 ORM简介 二 单表操作 三 章节作业 四 xxx 一 ORM简介 MVC或者MVC框架中包括一个重要的部分,就是ORM,它 ...

  3. Facebook分布式框架—Thrift介绍。

    Thrift介绍 Thrift是一个分布式RPC框架,用来进行可扩展且跨语言的服务的开发.它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, ...

  4. 重写、super关键字、final关键字、多态、子类型转换、抽象的初步了解

    重写 含义 在Java中,子类可继承父类中的方法,而不需要重新编写相同的方法.但有时子类并不想原封不动地继承父类的方法,而是想作一定的修改,这就需要采用方法的重写.方法重写又称方法覆盖. 重写与重载的 ...

  5. USACO 2012 March Silver Tractor /// 优先队列BFS oj21567

    题目大意: 输入n,(x,y):n为阻挡的草堆数量,(x,y)为开始时拖拉机所在的位置 接下来n行每行一个坐标(a,b):为各个草堆的坐标 输出拖拉机要回到原点(0,0)需要移动的草堆数量 Sampl ...

  6. java_Set接口

    /** * Set接口:extends Collection接口 * 不重复性 * 无序 * * java.util.HashSet: * 实现Set接口,不保证set的迭代顺序,无序集合 * 底层是 ...

  7. netty DelimiterBasedFrameDecoder

    netty server EchoServer package com.zhaowb.netty.ch5_1; import io.netty.bootstrap.ServerBootstrap; i ...

  8. VC操作Excel之基本操作(颜色等)【转载】

    文章出处https://blog.csdn.net/form88/article/details/78566390 EXCEL里如何知道某种颜色的ColorIndex的值 ===fag::====== ...

  9. Less适配移动端rem

    @ue-width: 750; /* 设计图的宽度 */ .px2rem(@px) { @remValue: @px/@ue-width*10; @pxToRem: ~"@{remValue ...

  10. Linux查看温度

    step 1: centos $ sudo yum install lm_sensors ubuntu $ sudo apt-get install lm_sensors step2$ sudo se ...