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. 【BZOJ 2599】【IOI 2011】Race 点分治

    裸的点分治,然而我因为循环赋值$s$时把$i <= k$写成$i <= n$了,WA了好长时间 #include<cstdio> #include<cstring> ...

  2. sed巧用,随手记

    删除文件后几行,或者前几行 方法1 都当做最后一行,来删除  for((i=1;i<4;i++)); do sed -i '$d' seq01.txt ; done  方法二 倒过来看 cat ...

  3. 让webstorm支持avalon语法自动补全

    在file菜单下选择Settings,选择Editor ——> Inspections ——> Html ——> Unknown HTML tag attibute添加以下标签ms- ...

  4. 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景

    去掉chrome(谷歌)浏览器默认的input.textarea的边框(border)和背景(background) 及chrome下不可更改textarea大小 1.使用Chrome的都知道,当鼠标 ...

  5. 【Gym 100947C】Rotate It !!

    分两类,奇数和偶数的,用隔项前缀和算一下. #include <algorithm> #include <iostream> #define N 10005 using nam ...

  6. JNI技术概念小结

    JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |-  首先,Java语言 ...

  7. IOS传值的几种方式

    1.代理 一对一 在第二个页面设置代理 1.1在最上方设置 //选择房间的代理 @protocol RoomVCDelegate <NSObject> 1.2设置代理方法 //方法 -(v ...

  8. UDP编程中client和server中使用recvfrom和sendto的区别

    client中:      sendto(sfd,buf,strlen(buf),0,(struct sockaddr *)&saddr,len);      recvfrom(sfd,buf ...

  9. Android复习资料

    转载:http://blog.csdn.net/huachao1001/article/details/53156582 在10月份开始就没有再参与校招了,面试过程真的很累,有时现场等面试一等就是几个 ...

  10. 【UOJ#33】【UR#2】树上GCD 有根树点分治 + 容斥原理 + 分块

    #33. [UR #2]树上GCD 有一棵$n$个结点的有根树$T$.结点编号为$1…n$,其中根结点为$1$. 树上每条边的长度为$1$.我们用$d(x,y)$表示结点$x,y$在树上的距离,$LC ...