博客
关于我
Flask简单学习
阅读量:431 次
发布时间:2019-03-06

本文共 3021 字,大约阅读时间需要 10 分钟。

Flask框架入门指南

一、安装

安装Flask框架非常简单。只需在终端中运行以下命令:

pip install flask

建议在安装前创建一个虚拟环境,以避免依赖冲突。例如:

python -m venv myenvsource myenv/bin/activate  # 或者  myenv\Scripts\activatepip install flask

二、Hello World

创建一个名为 hello.py 的文件,按照以下内容编写:

# coding: utf-8from flask import Flaskapp = Flask(__name__)@app.route('/')def hello_world():    return 'Hello world'

运行脚本:

python hello.py

在浏览器中访问 http://127.0.0.1:5000/,即可看到 "Hello world"。

路由说明

  • @app.route('/'):指定访问根路径时的处理函数。
  • app.run():启动 Flask 应用,默认监听在 127.0.0.1:5000

三、路由详解

Flask 的核心功能之一是路由管理。通过 @app.route 装饰器,可以将函数绑定到特定的 URL。

基本用法

from flask import Flaskapp = Flask(__name__)@app.route('/greeting')def greet():    return 'Hello, Flask!'

URL 变量

要在 URL 中添加变量部分,可以使用 <variable_name> 格式。如:

@app.route('/user/
')def display_user_profile(username): return f"用户 {username} 的资料"

URL 转换器

可以通过 :<converter:variable> 定义转换器。例如:

@app.route('/post/
')def show_post(post_id): return f"文章 {post_id} 的内容"

四、构造 URL

编写一个 construct_url.py 的文件,查看生成的 URL:

from flask import Flask, url_forapp = Flask(__name__)@app.route('/')def index():    pass@app.route('/login')def login():    pass@app.route('/user/
')def profile(username): passwith app.test_request_context(): print(url_for('index')) # 输出: / print(url_for('login')) # 输出: /login print(url_for('login', next='/')) # 输出: /login?next=/ print(url_for('profile', username='John Doe')) # 输出: /user/John%20Doe

运行脚本:

python construct_url.py

输出结果:

//login/login?next=//user/John%20Doe

五、HTTP 方法

默认情况下,路由只响应 GET 请求。通过在 @app.route 中指定 methods 参数,可以支持其他 HTTP 方法。

@app.route('/login', methods=['GET', 'POST'])def login_handler():    if request.method == 'POST':        # 处理登录逻辑        pass    else:        # 显示登录页面        pass

六、模板渲染

Flask 集成 Jinja2 模板引擎。通过 render_template() 方法渲染模板。

编写一个 template_demo.py 文件:

from flask import render_templateapp = Flask(__name__)@app.route('/hello/
')def hello(name=None): return render_template('hello.html', name=name)

模板文件应放置在 templates 文件夹中。例如:

    你好,{{ name }}    

你好,{{ name }}!

运行脚本:

python template_demo.py

在浏览器中访问 http://127.0.0.1:5000/hello/,即可看到动态渲染的内容。

七、URL 重定向

通过 redirect() 函数实现 URL 重定向。

编写一个 redirect_demo.py 文件:

from flask import redirect, url_forapp = Flask(__name__)@app.route('/index', methods=['GET', 'POST'])def index():    return redirect(url_for('login'))@app.route('/login', methods=['GET', 'POST'])def login():    return "LOGIN"

运行脚本:

python redirect_demo.py

访问 http://127.0.0.1:5000/index/,会被重定向到 /login/

八、定义错误页面

通过自定义错误处理器来定义错误页面。

编写一个 error_handling.py 文件:

from flask import Flask, abort, render_templateapp = Flask(__name__)@app.route('/index', methods=['GET', 'POST'])def index():    return "OK"@app.errorhandler(404)def page_not_found(error):    return render_template('page_not_found.html'), 404

模板文件 page_not_found.html

    404 - 页面未找到    

404 - 页面未找到

运行脚本:

python error_handling.py

访问 http://127.0.0.1:5000/invalid_url/,将显示 404 错误页面。

参考文档

通过以上内容,读者可以逐步掌握 Flask 框架的核心功能,包括安装、路由、模板渲染、URL 构造、HTTP 方法处理及错误页面定义等。

转载地址:http://dyfyz.baihongyu.com/

你可能感兴趣的文章
Oracle E-Business Suite软件 任意文件上传漏洞(CVE-2022-21587)
查看>>
Oracle EBS OPM 发放生产批
查看>>
Oracle EBS-SQL (BOM-15):检查多层BOM(含common BOM).sql
查看>>
Oracle EBS环境下查找数据源(OAF篇)
查看>>
oracle Extract 函数
查看>>
uni-app开发环境自动部署的一个误区(App running at...)
查看>>
Oracle GoldenGate Director安装和配置(无图)
查看>>
Oracle Goldengate在HP平台裸设备文件系统OGG-01028处理
查看>>
oracle instr函数详解
查看>>
Oracle Java所有版本的下载链接
查看>>
Oracle JDBC url的几种方式
查看>>
Oracle JDBC 连接卡死后 Connection Reset
查看>>
Oracle JDK vs OpenJDK
查看>>
ORACLE MERGE INTO (2)
查看>>
oracle ogg 单实例双向复制搭建(oracle-oracle)--Oracle GoldenGate
查看>>
Oracle ora-12514报错解决方法
查看>>
oracle ORA-14402 OGG-01296
查看>>
oracle package包头和package body包体例子
查看>>
oracle partition by list,深入解析partition-list 分区
查看>>
Oracle PL/SQL Dev工具(破解版)被植入勒索病毒的安全预警及自查通告
查看>>