Flask简介及安装

Flask是一个轻量级的Web应用框架,由Python编写。它可以帮助开发者快速构建一个基本的Web应用程序,简单易用。Flask的核心很简单,但它支持扩展以实现数据库交互、表单验证、用户认证等更多功能。

只需使用pip包管理器即可安装Flask。对不熟悉pip的用户而言,pip是Python的包管理工具,可用于安装和管理Python包。为安装Flask,您必须确保Python和pip已经安装在您的计算机上。安装Flask的命令如下:

 pip install Flask 

安装完成后,您可以导入Flask并开始创建您的Web应用程序。

创建一个基本的Flask应用程序

创建一个简单的Web应用程序通常是学习Flask的第一步。通过这一过程,您可以了解Flask的基本结构和工作流程。基本应用程序在Flask中非常简单,只需几行代码即可完成:

 from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello, World!' if __name__ == '__main__': app.run(debug=True) 

以上代码创建了Flask应用程序中最简单的例子。使用装饰app.route('/'),我们定义了路由,当用户访问网站根目录(即'/')时,将返回字符串'Hello, World!".最终if判断用于直接运行脚本,启动Flask开发服务器。

将上述代码保存为app。.py文件,并在命令行中运行,可以看到输出'Hello, World!".这证明你的Flask应用已经成功运行。

路由和视图函数三

在Flask中,路由是指从URL到函数的映射。这些函数被称为视图函数。视图函数处理请求并返回响应。Flask很容易添加新的路由,只需使用app。.route装饰并指定URL规则。

 @app.route('/') def index(): return '主页' @app.route('/user/') def show_user_profile(username): # 显示用户名称 return f'User {username}' 

例如,我们创建了两个路由:一个是应用程序的主页(使用'/'表示),另一个是带有动态参数的用户个人页面。。例如,当访问用户页面时'//user/john当视图函数show_时user调用_profile,并将'john把它作为参数传递给username。

Flask允许您指定视图函数可响应的方法类型,例如GET或POST,以便进一步定制HTTP方法。

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

四、模板

Web应用程序不仅仅是返回字符串。Flask通过Jinja2模板引擎支持服务器端模板渲染,使返回复杂的HTML页面变得简单。模板文件通常存储在templates文件夹中。以下是Flask从模板返回HTML响应的例子:

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

在这里,我们使用render_template函数载入helloo.html模板,并将变量name传递给模板。可用于模板。{{ name }}这种语法引用变量。

假设hello.html内容如下:

 <html> <head><title>Hello Template</title></head> <body> <h1>Hello {% raw %}{{ name }}{% endraw %}</h1> </body> </html> 

例如,当访问URL时。 '/hello/Flask' 在这个时候,name值将被替换为'Flask',并将渲染后的HTML内容返回到客户端。

静态文件五

我们经常需要处理JavaScriptt等Web开发中的静态文件。、CSS和图片等。Flask为我们提供了一个叫static的特殊路由,用于访问存储在文件系统中的静态文件。在默认情况下,Flask假设静态文件被列入web服务根路径下的static目录。

例如,如果您的应用程序有一个风格文件style.css,应存储在static文件夹中。您可以使用以下方法来引用此文件:

 <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"> 

通过url_for函数,Flask生成了URL的静态文件。'static“指特殊的端点名(Flask用于查找静态文件),filename参数指定了静态文件的名称。

当您的应用程序运行时,用户可以通过/static/style.css访问这个CSS文件。