flask的第一个应用

本文编写一个简单的实例来记录下flask的使用

文章目录


简单实例

flask的依赖包都安装好之后,我们就可以写一个最简单的web应用程序了,我们把这个应用程序命名为first.py:

python 复制代码
from flask import Flask

app = Flask(__name__)

@app.route('/')
def first():
    return "<p>这是我的第一个flask程序!</p>"

if __name__ == '__main__':
    app.run()
    

和普通的python程序不同的是,这里我们先实例化了一个Flask对象,然后用类似注解的方式定义了一个route在first这个方法上。

程序写好了,如果你在pycharm IDE中,那么可以右键运行,可以得到下面的内容:

xml 复制代码
 * Serving Flask app 'first'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on http://127.0.0.1:5000
Press CTRL+C to quit
127.0.0.1 - - [29/Nov/2024 13:56:28] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Nov/2024 13:56:29] "GET /favicon.ico HTTP/1.1" 404 -

最终我们可以访问默认的http://127.0.0.1:5000,可以得到下面的内容:


flask中的路由

无参形式

路由也叫Routing,它是web应用程序中的灵魂,通过路由来定义各种URL和访问路径。在flask中,可以使用@app.route来对路由进行定义。@app.route类似于注解,可以放置在python的方法之上。

route中可以定义路由的名称,路由的名称可以跟方法的名称不一样:

python 复制代码
@app.route('/test')
def test():
    return '我是一个测试'

测试结果


有参形式

在实际使用过程中,可以从外部往程序中传递各种各样的参数,就需要使用到参数传递的形式。

程序实例

python 复制代码
# 装饰器默认使用的请求方法是GET请求‌
# 装饰器的作用是将路由映射到视图函数index
@app.route('/hello/<path:username>')
def hello(username):

    print(username)
    return "<h1>"+username+"</h1>"

测试结果


参数类型

我们可以自行指定参数的类型,在flask中路径参数可以设置为下面的几种类型:

类型 说明
string 默认类型,可以接收除了/之外的任何字符串
int 可以接收正整数
float 可以接收正的浮点数
string 和string类似,但是可以接收/
string 接收uuid字符串

不同的http方法

默认情况下@app.route对外提供的是GET方法,如果你想对外提供一些不同的http方法,那么可以在@app.route中使用methods:

python 复制代码
# from flask import request
# 使用这个之前需要先导入包request.method
@app.route(rule='/diffMethod', methods=['GET', 'POST'])
def diff_method():

    if request.method == 'POST':
        return '这是post'
    else:
        return '这是get'

测试结果

当然,你还可以使用@app.get或者@app.post把不同方法的请求分开:

python 复制代码
# @app.route(rule='/diffMethod', methods=['GET'])的简写如下
@app.get('/getMethod')
def get_method():
     return '这是get请求'

# @app.route(rule='/diffMethod', methods=['POST'])的简写如下
@app.post('/postMethod')
def post_method():
     return '这是post请求'

本文小结

本文编写了一个简单的实例来说明flask的基本使用,以及路由和不同的http方法。

相关推荐
碳酸的唐1 小时前
A* 工程实践全指南:从启发式设计到可视化与性能优化
python·神经网络
倔强青铜三4 小时前
苦练Python第64天:从零掌握多线程,threading模块全面指南
人工智能·python·面试
Q26433650236 小时前
【有源码】基于Hadoop生态的大数据共享单车数据分析与可视化平台-基于Python与大数据的共享单车多维度数据分析可视化系统
大数据·hadoop·python·机器学习·数据分析·spark·毕业设计
计算机毕业设计木哥6 小时前
计算机毕设选题推荐:基于Hadoop和Python的游戏销售大数据可视化分析系统
大数据·开发语言·hadoop·python·信息可视化·spark·课程设计
小蕾Java6 小时前
PyCharm 2025:使用图文教程!
ide·python·pycharm
至此流年莫相忘6 小时前
配置Python环境之Conda
python·conda
cooldream20096 小时前
深入解析 Conda、Anaconda 与 Miniconda:Python 环境管理的完整指南
开发语言·python·conda
B站计算机毕业设计之家7 小时前
多模态项目:Python人脸表情系统 CNN算法 神经网络+Adaboost定位+PyQt5界面 源码+文档 深度学习实战✅
python·深度学习·神经网络·opencv·yolo·计算机视觉·情绪识别
大模型真好玩7 小时前
LangGraph实战项目:从零手搓DeepResearch(一)——DeepResearch应用体系详细介绍
人工智能·python·mcp