😎🥳😎🤠😮🤖🙈💭🍳🍱
Flask是一个用Python编写的微型框架,它由Armin Ronacher开发,并采用BSD许可证。它基于Werkzeug工具包和Jinja2模板引擎。Flask可以让你快速地创建一个简单而强大的Web应用程序,只需要几行代码就可以实现一个最小的应用程序。Flask还提供了配置、路由、模板、请求处理、响应生成、错误处理、日志记录、测试等功能,以及许多可选的扩展来增强其功能。
🦞🦐🦀🦑🦪
Flask的优点和特性有:
创建一个Flask应用实例,用来注册路由、处理请求和返回响应。例如:
from flask import Flask
app = Flask(__name__)
使用装饰器@app.route来定义路由,指定不同的URL对应不同的视图函数。视图函数可以接收请求参数,返回响应数据,或者重定向到其他URL。例如:
@app.route("/")
def index():return "Hello, Flask!
"@app.route("/user/")
def user(name):return f"Hello, {name}!
"
使用request对象来获取请求的相关信息,如方法、参数、头部等。例如:
from flask import request@app.route("/login", methods=["GET", "POST"])
def login():if request.method == "POST":username = request.form.get("username")password = request.form.get("password")# validate and authenticate userelse:# render login form
使用response对象或make_response函数来创建和定制响应,如状态码、内容类型、头部等。例如:
from flask import make_response@app.route("/cookie")
def cookie():response = make_response("This document carries a cookie!
")response.set_cookie("answer", "42")return response
使用render_template函数来渲染Jinja2模板,传递动态数据和逻辑到HTML页面中。例如:
from flask import render_template@app.route("/hello/")
def hello(name):return render_template("hello.html", name=name)
使用redirect函数和url_for函数来实现URL的重定向和反向解析,避免硬编码URL。例如:
from flask import redirect, url_for@app.route("/")
def index():return redirect(url_for("user", name="Guest"))
使用abort函数来主动抛出HTTP异常,如404、500等。使用errorhandler装饰器来自定义错误处理函数。例如:
from flask import abort@app.route("/user/")
def get_user(id):user = load_user(id)if not user:abort(404)return f"Hello, {user.name}!
"@app.errorhandler(404)
def page_not_found(e):return render_template("404.html"), 404
🐋 🐬 🐶 🐳 🐰 🦀☝️ ⭐ 👉 👀
如果你想深入学习Flask,这里有一些资源可以帮助你:
Flask官方文档:https://flask.palletsprojects.com/
Flask教程:https://flask.palletsprojects.com/en/2.2.x/tutorial/
Flask入门指南:https://flask.palletsprojects.com/en/2.2.x/quickstart/
Python Geeks上的Flask介绍:https://pythongeeks.org/python-flask-introduction/
🍇🍉🍊🍏🍋🍅🥝🥥🫒🫕🥗
项目仓库看这里🤗:
https://github.com/w-x-x-w
https://gitee.com/w-_-x
博客文章看这里🤭:
https://blog.csdn.net/weixin_62650212
视频推送看这里🤤:
https://space.bilibili.com/1909782963