flask安装及第一个程序
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安装及第一个程序的更多相关文章
- [视频解说]Java(JDK的下载安装及第一个程序执行)
(JDK的下载安装及第一个程序执行) 内容:Java JDK 的安装以及HelloWorld 程序的执行 欢迎童鞋们前往围观 http://v.youku.com/v_show/id_XODA3Mzk ...
- Conda安装及第一个py程序
Conda安装及第一个py程序 安装Conda 下载安装 在Anaconda官网下载Anaconda 打开Conda安装程序 设置好安装目录(这个一定要记好,后边要用),比如我的目录就是 D:\Pro ...
- cesium安装及第一个示例
cesium安装及第一个示例 一.环境要求 二.浏览器要求 三.安装node.js 四.下载cesium包(地址为https://cesiumjs.org) 包括了 五.在你的项目里引入相关js与cs ...
- Java(1)开发环境配置及第一个程序Hello World
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201468.html 博客主页:https://www.cnblogs.com/testero ...
- Python初学者第一天 Python安装及第一个Python程序
Python基础: 1day: 1.Python基础: A.编程语言介绍: a. 计算机只能理解0和1.编程即写一段按照一定规则写代码,让计算机帮你干活: b.机器语言:最底层的语言, ...
- go语言开发环境安装及第一个go程序
下载Go语言开发包 大家可以在Go语言官网(https://golang.google.cn/dl/)下载 Windows 系统下的Go语言开发包,如下图所示. 安装Go语言开发包 双击我们下载好的G ...
- Java和eclipxe的安装以及第一个程序
首先我们需要下载java开发工具包JDK,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 注意事项:安装 ...
- 【win】【qt5安装】【qt5.5.1安装及第一个示例make错误】
[前言] 昨天按照需求将qt程序从linux系统移植到win上使用(其实有点缪论了,本人linux用的中标麒麟系统对于发布发布系统版本麒麟(注:以下用麒麟代替中标麒麟,什么银河麒麟,优麒麟的,我现在只 ...
- [置顶] Objective-C开发环境介绍以及Cocoa,以及第一个程序
Objective-C 起源与发展 Brad J. Cox designed the Objective-C language in the early 1980 . 布兰德于1980年设计的 ...
随机推荐
- 【BZOJ 2599】【IOI 2011】Race 点分治
裸的点分治,然而我因为循环赋值$s$时把$i <= k$写成$i <= n$了,WA了好长时间 #include<cstdio> #include<cstring> ...
- sed巧用,随手记
删除文件后几行,或者前几行 方法1 都当做最后一行,来删除 for((i=1;i<4;i++)); do sed -i '$d' seq01.txt ; done 方法二 倒过来看 cat ...
- 让webstorm支持avalon语法自动补全
在file菜单下选择Settings,选择Editor ——> Inspections ——> Html ——> Unknown HTML tag attibute添加以下标签ms- ...
- 去掉谷歌浏览器获取焦点时默认的input、textarea的边框和背景
去掉chrome(谷歌)浏览器默认的input.textarea的边框(border)和背景(background) 及chrome下不可更改textarea大小 1.使用Chrome的都知道,当鼠标 ...
- 【Gym 100947C】Rotate It !!
分两类,奇数和偶数的,用隔项前缀和算一下. #include <algorithm> #include <iostream> #define N 10005 using nam ...
- JNI技术概念小结
JNI(Java Native Interface,JAVA原生接口) 使用JNI可以使Java代码和其他语言写的代码(如C/C++代码)进行交互. 问:为什么要进行交互? |- 首先,Java语言 ...
- IOS传值的几种方式
1.代理 一对一 在第二个页面设置代理 1.1在最上方设置 //选择房间的代理 @protocol RoomVCDelegate <NSObject> 1.2设置代理方法 //方法 -(v ...
- UDP编程中client和server中使用recvfrom和sendto的区别
client中: sendto(sfd,buf,strlen(buf),0,(struct sockaddr *)&saddr,len); recvfrom(sfd,buf ...
- Android复习资料
转载:http://blog.csdn.net/huachao1001/article/details/53156582 在10月份开始就没有再参与校招了,面试过程真的很累,有时现场等面试一等就是几个 ...
- 【UOJ#33】【UR#2】树上GCD 有根树点分治 + 容斥原理 + 分块
#33. [UR #2]树上GCD 有一棵$n$个结点的有根树$T$.结点编号为$1…n$,其中根结点为$1$. 树上每条边的长度为$1$.我们用$d(x,y)$表示结点$x,y$在树上的距离,$LC ...