Flask基本用法
Flask基本用法
Flask基本结构
# 引入Flask包,使得我们可以创建Flask应用实例
from flask import Flask
# 创建一个Flask应用实例。`__name__` 是Python内置变量,它表示当前模块的名称。
# 在这里,`__name__` 被传递给Flask构造函数,用于确定应用程序的基本目录(如静态文件和模板的查找路径),尤其是在多模块或包结构中。
app = Flask(__name__)
# 使用Flask的路由装饰器 `@app.route()` 来定义URL与函数之间的映射关系。
# 这里定义了一个访问路径 "/index",当用户在浏览器中访问此路径时,将触发执行下面的 `index()` 函数。
@app.route("/index")
def index():
# 注释:`index()` 函数返回一个字符串,内容为 "这是index网页"。
# 这是最简单的响应方式,直接向客户端返回一个纯文本消息作为网页内容。
return "这是index网页"
# 检查当前脚本是否为直接运行的主模块(而不是被其他模块导入)。如果是,则执行以下代码。
# 这种结构确保当文件被直接运行(如通过命令行 `python app.py`)时,启动Flask应用服务器。
if __name__ == '__main__':
# 调用 `app.run()` 方法来启动本地开发服务器。
# 参数说明:
# - `host='0.0.0.0'`:设置服务器监听所有可用网络接口(包括局域网和互联网,如果防火墙允许的话),而非仅限localhost。
# - `port=5000`:指定服务器监听的端口号为5000。
# - `debug=False`:关闭调试模式。在生产环境中,通常应关闭调试模式以提升性能和安全性。
app.run(host='0.0.0.0', port=5000, debug=False)
templates目录用于存放html文件
在flask中需要引入render_template
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/register')
def register():
return render_template('register.html')
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=False)
请求方式
GET请求
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route('/register', methods=['GET'])
def register():
return render_template('register.html')
@app.route("/do/register", methods=['GET'])
def do_register():
get_info = request.args
return get_info
if __name__ == '__main__':
app.run(host='0.0.0.0', port=5000, debug=True)
POST请求
@app.route("/post/register", methods=['POST'])
def post_register():
get_info = request.form
username = request.form.get("username")
passwd = request.form.get("passwd")
sex = request.form.get("sex")
hobby_list = request.form.getlist("hobby")
city = request.form.get("city")
more = request.form.getlist("textarea")
print(username, passwd, sex, hobby_list, city, more)
return get_info
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署