一个简单的flask程序
初始化
所有Flask程序都必须创建一个程序实例。
程序实例是Flask类的对象,经常使用下述代码创建:
from flask import Flask
app = Flask(__name__)
Flask类的构造函数只有一个必须指定的参数,及程序主模块或包的名字。
在大多数程序中,Python的__name__变量就是所需的值。
路由和视图函数
客户端把请求发送给Web服务器,Web服务器再把请求发送给Flask程序实例。
程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个URL到python函数的映射关系。处理URL和函数之间关系的程序成为路由。
在Flask程序中定义路由的最简便方式,是使用程序实例提供的app.route修饰器,把修饰函数注册为路由。
如下面的例子所示:
@app.route('/')
def index():
return '<h1>Hello World!<h1>'
上面的例子把index()函数注册为程序根地址的处理程序。如果部署程序的服务器域名为www.example.com,在浏览器访问http://www.example.com后,会触发服务器执行index()函数。这个函数的返回值成为响应,是客户端接收到的内容。
像index()这样的函数称为视图函数。
启动服务器
程序实例用run方法启动Flask集成的开发Web服务器:
if __name__ == '__main__':
app.run(debug=True)
__name__ == '__main__'是python的惯常用法,在这里确保直接执行这个脚本时才启动开发Web服务器。
一个完整的小程序
前面介绍了Flask Web程序的不同组成部分,开始写一个程序了。
整个manman.py脚本程序就是把前面介绍的三部分合并到一个文件中。
程序代码如下所示:
# -*- coding: utf-8 -*-
# manman.py 一个简单的小程序
from flask import Flask
app = Flask(__name__) @app.route('/')
def index():
return '<h1>曼曼,早上好,中午好,晚上好!<h1>' if __name__ == '__main__':
app.run(debug=True)
运行这个程序,然后在浏览器中输入地址:http://127.0.0.1:5000/
就会看到:

好了,关于Flask Web简单小程序就介绍到这里。
:)
一个简单的flask程序的更多相关文章
- 【Flask系列】开发一个简单的Flask程序
知识点 初始化:每一个flask程序都必须创建一个程序实例,遵循WSGI(Web Server Gateway interface)协议,把请求->flask Obj; 创建实例: app = ...
- 一个简单的flask应用
一个简单的flask应用,文件名hello.py from flask import Flask app = Flask(__name__) @app.route('/') def hello_wor ...
- 编写一个简单的C++程序
编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...
- 使用Go开发一个简单的服务器程序
最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...
- 利用JSP编程技术实现一个简单的购物车程序
实验二 JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...
- 输出多行字符的一个简单JAVA小程序
public class JAVA { public static void main(String[] args) { System.out.println("-------------- ...
- 如何创建一个简单的struts2程序
如何创建一个简单的Struts2程序 “计应134(实验班) 凌豪” 1.创建一个新的Web项目test(File->new->Web Project) 2.Struts2框架的核心配置文 ...
- Linux系统学习笔记之 1 一个简单的shell程序
不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...
- 第一讲 一个简单的Qt程序分析
本文概要:通过一个简单的Qt程序来介绍Qt程序编写的基本框架与一些Qt程序中常见的概念 #include <QApplication> #include <QPushButton&g ...
随机推荐
- JS代码混淆 支持PHP .NET PERL
官方 http://dean.edwards.name/packer/ Also available as .NET, perl and PHP applications. .NET实例下载地址:h ...
- UESTC_男神的礼物 2015 UESTC Training for Dynamic Programming<Problem A>
A - 男神的礼物 Time Limit: 3000/3000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit ...
- Subsets 解答
Question Given a set of distinct integers, nums, return all possible subsets. Note: Elements in a su ...
- HTML标签的offset、client、 scroll和currentStyle属性
本文来自:http://www.cnblogs.com/quanhai/archive/2010/04/19/1715231.html offsetHeight = borderTopWidth + ...
- hdu 3954 Level up(线段树)
题目链接:hdu 3954 Level up 题目大意:N个英雄,M个等级,初始等级为1,给定每一个等级须要的经验值,Q次操作,操作分两种,W l r x:表示l~r之间的英雄每一个人杀了x个怪物:Q ...
- java中反射学习整理
转载请注明:http://blog.csdn.net/j903829182/article/details/38405735 反射主要是指程序能够訪问.检測和改动它本身的状态或行为的一种能力. jav ...
- Android 四大组件之 Activity
1 简介 Activity (活动) 即应用程序 显示的 界面.可以通过两种方式 设置显示的内容 1:纯代码方式 2:xml 布局方式 无论哪一种方式,都是通过 setContentView 来设置显 ...
- Kali下使用libheap
Kali下使用libheap 在github上,可以libheap用来帮助调试堆溢出.链接见:https://github.com/cloudburst/libheap 但是最后一次更新在一年前了,我 ...
- html5的改变
html5的改变 新增的元素 新增的结构元素 section.article.aside.header.hgroup.footer.nav.figure 新增的其他元素 video.audio.emb ...
- PPT 制作必备工具
1.图标 http://www.easyicon.net/ http://ico.58pic.com/ http://www.iconpng.com/ 2.字体 http://www.qiuziti. ...