一个简单的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 ...
随机推荐
- C++对象模型浅析
本文仅代表博主自己对C++内存对象模型的一点理解,如果文中有 理解偏差和不准确的地方,希望各位大大提出,我好及时改正. 本博文只对博主自己负责,不对任何人负责. 就如<深度探索C++对象模型&g ...
- hihoCoder #1234 : Fractal(数学简单题)
时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 This is the logo of PKUACM 2016. More specifically, the logo i ...
- poj 3728 The merchant(LCA)
Description There are N cities in a country, and there is one and only one simple path between each ...
- Conquering Keokradong && Get the Containers(二分)
Conquering Keokradong Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu ...
- C,C#,C++中&&和||,&和|的联系和区别
本文来自:http://www.cnblogs.com/GT_Andy/archive/2010/03/30/1921805.html 两者计算结果相同(针对各自的运算对象),只是性能上有差别而已. ...
- LinearGradient线性渲染
import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; impor ...
- git使用经验
一直想写一点关于git的文章,但是平时太懒了,没有写,现在写些经验这里,方便以后自己忘记了.
- isNUll ,对于sql中的一个表的description的NULL和空格的处理
select client.clientname ,description,'client2'= case when client.Description IS NULL then client.c ...
- 网络受限下,使用Nexus要解决的两个问题
在网络受限的情况下,使用nexus总会遇到这么两个问题,让你头疼. 我头疼过了,为了不让大家头疼,把解决方案放在这里,供大家参考. 问题一.背景: 由于网络原因,Nexus无法更新远程仓库的索引. ...
- C语言--C语言程序
一.代码的编写 1.程序结构 1> C语言程序的结构:由函数构成 *任何一个c语言程序都是由一个或者多个程序段(小程序)构成的,每个程序段都有自己的功能,我们一般称这些程序段为“函数”.所以,我 ...