1、flask是一个轻量级的python web框架

·1、Flask 依赖两个外部库: Jinja2 模板引擎和 Werkzeug WSGI 套件

·2、安装:

# easy_install flask           安装
# python 测试安装是否成功
>>> import flask

2、增强工具:virtualenv(摘自:http://dormousehole.readthedocs.org/en/latest/installation.html#installation)

如果你使用 Mac OS X 或 Linux ,那么可以使用下面两条命令中任意一条:
$ sudo easy_install virtualenv
或更高级的:
$ sudo pip install virtualenv
上述命令中的任意一条就可以安装好 virtualenv 。也可以使用软件包管理器,在 Ubuntu 系统中可以试试: $ sudo apt-get install python-virtualenv

使用:

root@pc:/# mkdir flask
root@pc:/# cd flask/
root@pc:/flask# virtualenv venv 创建一个包含venv文件夹的项目文件夹:
New python executable in venv/bin/python
Installing setuptools, pip...done.
root@pc:/flask# ls
venv root@pc:/flask# . venv/bin/activate 每次使用项目时,必须先激活相应的环境

3、"Hello World"

(venv)root@pc:/flask# vim hello.py

编辑内容:

 #coding=utf-
from flask import Flask #导入flask类
app = Flask(__name__) #生成该类的一个实例 @app.route('/') #调用一个app的route方法
def hello_work(): #定义一个处理方法
return '<h1>hello world</h1>' if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行
app.run()

保存退出,并执行:

root@pc:/flask# python hello.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1 - - [/Apr/ ::] "GET / HTTP/1.1" -

根据提示,打开浏览器,输入网址:http://127.0.0.1:5000/

4、设置网络中其它电脑也可以访问:

修改app.run()为:

 app.run(host='0.0.0.0')     #用host参数,设定全网段可以访问

保存,ctrl + shift + T打开另一个终端,执行:

root@pc:/flask# python hello.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

可以看到ip地址变了,现在可用自己的ip进行访问:

root@pc:/# ifconfig
eth0 Link encap:以太网 硬件地址 ::e6:d0:d5:2e
inet 地址:192.168.168.80 。。。。。

5、调试模式:绝对不能在生产环境中使用调试模式

(原因:它允许执行任意代码,这样会成为一个重大安全隐患)

打开调试模式的第一种方式:

app.debug = True     #第一种方式:在应用对象上设置标志                                     
app.run(host='0.0.0.0') #用host参数,设定全网段可以访问

对应的:

root@pc:/flask# python hello.py
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

第二种方式:

app.run(debug=True,host='0.0.0.0')   #第二种方式:作为参数传递给run方法 

对应的:

root@pc:/flask# python hello.py 
 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)

至此,整个程序修改为:

    #coding=utf-
from flask import Flask #导入flask类
app = Flask(__name__) #生成该类的一个实例 @app.route('/') #调用一个app的route方法
def hello_work(): #定义一个处理方法
return '<h1>hello world</h1>' if __name__ == '__main__': #确保服务器只会在使用python解释器运行代码的情况下运行
#app.debug = True #第一种方式:在应用对象上设置标志
#app.run(host='0.0.0.0') #用host参数,设定全网段可以访问
app.run(debug=True,host='0.0.0.0') #第二种方式:作为参数传递给run方法

详情请看参考网址:

http://dormousehole.readthedocs.org/en/latest/

http://docs.jinkan.org/docs/flask/quickstart.html#a-minimal-application

flask安装及第一个程序的更多相关文章

  1. [视频解说]Java(JDK的下载安装及第一个程序执行)

    (JDK的下载安装及第一个程序执行) 内容:Java JDK 的安装以及HelloWorld 程序的执行 欢迎童鞋们前往围观 http://v.youku.com/v_show/id_XODA3Mzk ...

  2. Conda安装及第一个py程序

    Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...

  3. cesium安装及第一个示例

    cesium安装及第一个示例 一.环境要求 二.浏览器要求 三.安装node.js 四.下载cesium包(地址为https://cesiumjs.org) 包括了 五.在你的项目里引入相关js与cs ...

  4. Java(1)开发环境配置及第一个程序Hello World

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201468.html 博客主页:https://www.cnblogs.com/testero ...

  5. Python初学者第一天 Python安装及第一个Python程序

    Python基础: 1day: 1.Python基础: A.编程语言介绍:     a. 计算机只能理解0和1.编程即写一段按照一定规则写代码,让计算机帮你干活:     b.机器语言:最底层的语言, ...

  6. go语言开发环境安装及第一个go程序

    下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 安装Go语言开发包 双击我们下载好的G ...

  7. Java和eclipxe的安装以及第一个程序

    首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意事项:安装 ...

  8. 【win】【qt5安装】【qt5.5.1安装及第一个示例make错误】

    [前言] 昨天按照需求将qt程序从linux系统移植到win上使用(其实有点缪论了,本人linux用的中标麒麟系统对于发布发布系统版本麒麟(注:以下用麒麟代替中标麒麟,什么银河麒麟,优麒麟的,我现在只 ...

  9. [置顶] Objective-C开发环境介绍以及Cocoa,以及第一个程序

      Objective-C 起源与发展 Brad J. Cox designed the  Objective-C language in the early 1980 . 布兰德于1980年设计的  ...

随机推荐

  1. 简单的JS控制button颜色随点击更改

    先上效果图: 默认“今日”是选中状态,是行内样式: <button type="button" id="today" class="btn-li ...

  2. nginx.conf的events,http段一般固定配置

    nginx.conf的events,http段一般固定配置 user nobody nobody; #使用的用户可以按照实际情况修改 worker_processes ; #指定nginx开启的进程数 ...

  3. HTML5文件系统API和资料整理

    来着火狐开发网络的官方文档:点我打开 : W3C的官方文档: 点我打开 : 园友的博客:  点我打开: 浏览器兼容性, 好了就chrome支持, 我刚刚更新的火狐37也不支持, nice, 太nice ...

  4. hdu2888 二维RMQ

    Check Corners Time Limit: 2000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  5. HTTP协议学习---(六)缓存

    本文介绍浏览器和Web服务器之间如何处理"浏览器缓存",以及控制缓存的http header. 本文会使用Fiddler来查看HTTP request和Response, 如果不熟 ...

  6. Spark MLib 基本统计汇总 2

    4. 假设检验 基础回顾: 假设检验,用于判断一个结果是否在统计上是显著的.这个结果是否有机会发生. 显著性检验 原假设与备择假设 常把一个要检验的假设记作 H0,称为原假设(或零假设) (null ...

  7. 【BZOJ-3675】序列分割 DP + 斜率优化

    3675: [Apio2014]序列分割 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 1420  Solved: 583[Submit][Statu ...

  8. Windows Server 2012及以上安装IIS的步骤

    已经和2008安装时有着明显区别,如题的安装步骤如下: 这里需要注意的是,选择了[Web 服务器(IIS)支持]后可能会弹出选择的界面,到时也一起全选,这里由于是已经安装了,所以没弹出. 说明:上面根 ...

  9. Java Attach API

    catalog . instrucment与Attach API . BTrace: VM Attach的两种方式 . Sun JVM Attach API 1. instrucment与Attach ...

  10. python 生成器和递归

    生成器 1.定义 问题:python会把对象放到内存中,我们每次定义变量.列表等都会在内存中占用对应的地址块,所以当内存容量一定时,列表的容量会受到内存的限制,而且假如我们创建了一个包含200万个元素 ...