Flask 学习篇一: 搭建Python虚拟环境,安装flask,并设计RESTful API。
前些日子,老师给我看了这本书,于是便开始了Flask的学习
GitHub上的大神,于是我也在GitHub上建了一个Flask的项目。
有兴趣可以看看:
https://github.com/SilentCC/FlaskProject
首先了解Flask是一个Web应用框架,它是用Python写的。 在Flask框架下,我们设计一个RESTful API.
其次了解RESTful ,RESTful 是一种Web架构风格,可以降低开发的复杂性,提高系统的可伸缩性。目前大概有三种主流的Web服务实现方案,SOAP,XML-RPC,REST.现在大多数的网站都是采用REST风格设计和实现。
一般的满足以下约束的基本上符合RESTful的框架。
- 使用客户/服务器模型。客户和服务器之间通过一个统一的接口来互相通讯。
- 层次化的系统。在一个REST系统中,客户端并不会固定地与一个服务器打交道。
- 无状态。在一个REST系统中,服务端并不会保存有关客户的任何状态。也就是说,客户端自身负责用户状态的维持,并在每次发送请求时都需要提供足够的信息。
- 可缓存。REST系统需要能够恰当地缓存请求,以尽量减少服务端和客户端之间的信息传输,以提高性能。
- 统一的接口。一个REST系统需要使用一个统一的接口来完成子系统之间以及服务与用户之间的交互。这使得REST系统中的各个子系统可以独自完成演化。
现在来搭建Python环境:
首先下载virtualenv : virtualenv 可以创建多个独立的Python运行环境。我们可以先用homebrew 下载virtualenv。
先建立一个文件夹,然后在这个文件夹里执行$ virtualenv flask命令
这样的话就建立一个名为flask文件夹,这个flask文件夹中就有了Python的运行环境。
我们在这个Python运行环境中用python包管理工具 pip 安装flask
$ flask/bin/pip install flask
然后Python运行环境和Flask的就完成安装了。
我们在新建一个hello.py 文件在flask文件夹里,或者与flask文件夹同一目录下。里面写上如下内容
#!flask/bin/python
from flask import Flask app = Flask(__name__) @app.route('/')
def index():
return "Hello, World!" if __name__ == '__main__':
app.run(debug=True)
#!flask/bin/python 是引用Python环境,这里已经事先设置好了环境变量,也可以写全路径。
启动服务器应该要激活flask 在flask的bin文件夹里,运行activate
$ source activate
出现了(flask)
然后在终端里输入$ ./hello.py 或者$ python hello.py
就可以启动服务了,在浏览器里面输入http://localhost:5000/
可以看到网页了,打印了“Hello,World!”
就目前我对RESTful的理解,自己在开发jsp网页作业的时候,用的服务器是Tomcat 。而这里的hello.py 就是RESTful的服务器,是我们自己可以编辑的。
最新文章
- Windows远程连接Linux
- LruCache详解之 Android 内存优化
- Mac系统下使用VirtualBox虚拟机安装win7--第三步 在虚拟机上安装 Windows 7
- Circular progress bar in Unity 3D
- attr与prop
- 【转】免费开源的FTP软件,FileZilla
- 【转】asp.net导出数据到Excel的三种方法
- Java - 正则表达式常用操作
- 2015版Force Touch Mac Book激活三个手指拖动窗口
- nagios和zabbix自定义监控脚本
- 二分图行列匹配--->; hdu2119,hdu1498
- .net 基础服务开源战略规划备忘录
- Angular2 Service实践——实现简单音乐播放服务
- 简单好用用js就可以保存文本文件到本地
- linux Module驱动开发-一切刚刚开始
- Day053--MySQL
- oracle基本查询
- laravel的路由设置,路由参数和路由命名(三)
- error: ld returned 1 exit status 解决
- java Object类源代码详解 及native (转自 http://blog.csdn.net/sjw890821sjw/article/details/8058843)