Python Flask框架的一些理解

Flask是一个用python编写的WSGI应用框架,我们使用他的时候,只需要专注于从网络请求到网络响应的过程中的逻辑处理,而无需关注网络层面的操作。
他可以很简单地使用pip来安装:

pip install flask

Hello Flask

编写一个Flask的Hello world相当容易

1 导入Flask

from flask import Flask

2 实例化Flask

app = Flask(__name__)

Flask类的构造参数是引入名,Flask使用这个名字进行静态资源、模板信息和错误的定位,一般情况下,我们总是使用__name__

3 注册路由

@app.route('/')
def index:
  return 'Hello Flask'

注册路由就是建立URL和处理关系之间的联系,HTTP请求在Flask中依赖于注册的路由进行转发。
路由的注册使用的是python的特殊语法,修饰器,他将会把对应的URL规则绑定到对应的函数上,这个函数被称为视图函数,当来自对应URL的HTTP请求被WSGI服务器接收后,将会执行对应的视图函数。

4 启动WSGI服务器

app.run(host='0.0.0.0', port=80,debug=True)

路由规则

1 HTTP方法

在Flask中可以通过methods参数来指定使用的方法,如果不声明,则默认支持GET与POST方法

@app.route('/test', methods=['POST', 'GET'])
def test():
  if request.method == 'GET':
    return 'get method response'
  if request.method == 'POST':
    return 'post mehod response'

2 匹配动态URL

在路由器修饰器中,可以在URL规则中使用尖括号来声明变量,同时为视图函数声明对应的参数。

@app.route('/hello/<username>')
def say_hello():
  return 'hello %s' % username

其中,这个参数还可以使用变量类型过滤。

@app.route('/hello/<int:count>')

Flask将会对对应的参数进行预处理:

  • string - 匹配不包含/的字符串,这是默认的转换器。
  • path - 匹配包含/的字符串。
  • int - 只有当URL中的变量是整型值时才匹配,并将变量转换为整型。
  • float - 只有当URL中的变量是浮点值时才匹配,并将变量转换为浮点型。

3 静态文件目录

在Flask中,static文件夹将会成为默认的静态文件目录,如果你想要指定特殊的静态文件目录,可以在Flask的实例化过程中使用

app = Flask(__name__, static_folder='/var/www/static')

That's it, 就是这么简单。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 22年12月更新:个人网站关停,如果仍旧对旧教程有兴趣参考 Github 的markdown内容[https://...
    tangyefei阅读 35,325评论 22 257
  • [TOC]一直想做源码阅读这件事,总感觉难度太高时间太少,可望不可见。最近正好时间充裕,决定试试做一下,并记录一下...
    何柯君阅读 12,040评论 3 98
  • 这几天想学新东西,就看了flask框架,本身对python不太了解,网上的很多教程看了,总是在某些地方卡住。翻到一...
    易木成华阅读 6,820评论 0 11
  • 1-人工智慧,人类灭亡? 人类最值钱的部分是大脑。 2-人工智慧改变(聪明)的定义: 聪明: 人工智慧的方便 情绪...
    Karlina简称K阅读 2,187评论 0 0
  • 【静等花开】亲子阅读30天D7 共读:经典之所以成为经典,是经过时间检验滴!比如巴巴爸爸, 1970年,漫画问世 ...
    木木sani阅读 2,087评论 0 0

友情链接更多精彩内容