Flask程序的基本结构

本文介绍了Flask程序的基本结构,包括初始化、路由和视图函数的定义,以及请求-响应循环的工作原理。重点讲解了Flask如何通过修饰器定义路由,动态类型支持,以及启动服务器的方法。此外,还探讨了Flask的请求上下文、响应生成,包括页面重定向和特殊响应。最后提到了Flask扩展的使用,如Flask-Script,并简述了安装和启动服务器的过程。
摘要由CSDN通过智能技术生成

Flask程序的基本结构

@(Flask)

初始化

程序实例是Flask类的对象。

常常用的代码是:

from flask import Flask
app = Flask(__name__)

Flask类的构造函数只有一个必须制定的参数:程序主模块或包的名字。

Flask用这个参数决定程序的根目录,以便稍后能找到相对于程序根目录的资源文件位置。

P.S : 后续会有更复杂些的初始化方式。

路由和视图函数

  • 客户端将请求发送给Web服务器
  • Web服务器将请求发送给**Flask程序实例**app
  • app需要知道:对每个URL请求运行哪些代码,那么这个就需要映射关系,保存映射关系的程序是路由
定义路由器

最简便的方式:使用app.route修饰器

@app.route('/')
def index(): #index()函数注册为程序根地址的处理程序
    return '<h1>Hello World</h1>'

修饰器:Python语言的标准特性,可以使用不同的方式修改函数的行为。惯用做法是:使用修饰器把函数注册为事件的处理程序。

上例即为:

访问www.xxxx.com,会触发服务器调用index()函数进行处理。

其中函数的返回值称之为响应

index()也称作:视图函数(View Function)

视图函数的返回值可以是以下:

  • 包含HTML的字符串
  • 复杂的表单

一般来说,响应函数返回响应字符串不是好的写法,生成响应的正确方式后文会继续讲。

@app.route('/user/<name>')
def user(name):
    return '<h1>Hello, %s!</h1>' %name

尖括号中的是动态内容,任何能匹配静态部分的URL都会映射到这个路由上

视图函数将动态部分作为参数传入函数,因此这也是一种传参方式。

其中,动态部分,默认使用字符串,也可以用类型定义:/user/<int:id>,仅仅匹配动态片段id为整数的URL。

Flask支持的动态类型
  • int
  • float
  • path : 也是字符串,但不把斜线视作分隔符,会将其当做动态片段的一部分。

启动服务器 : run

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值