1. 创建应用:
    接下来,需要创建一个Flask应用对象。Flask类的构造函数接受一个参数,通常为__name__,表示应用的名称。
app = Flask(__name__)

  1. 定义路由:
    在Flask中,路由用于处理URL和相应的处理函数之间的映射关系。可以使用@app.route装饰器来定义路由。
@app.route('/')
def index():
    return 'Hello, Flask!'

上述代码定义了一个根路由’/',当用户访问根URL时,会执行index函数并返回’Hello, Flask!'文本。

  1. 处理请求:
    Flask中的请求对象request用于处理HTTP请求。可以通过request对象获取请求的方法、参数、表单数据等。
@app.route('/hello')
def hello():
    name = request.args.get('name')
    return f'Hello, {name}!'

上述代码定义了一个路由’/hello’,当用户访问该URL时,会执行hello函数。使用request.args.get方法获取URL参数’name’的值,并返回相应的问候语。

  1. 渲染模板:
    Flask中的render_template函数用于渲染模板文件,并将结果返回给客户端。可以使用Jinja2模板引擎来创建和渲染模板。
@app.route('/user/<username>')
def user(username):
    return render_template('user.html', username=username)

上述代码定义了一个动态路由’/user/',当用户访问该URL时,会执行user函数,并将模板’user.html’渲染后的结果返回给客户端。

  1. 运行应用:
    最后,需要运行Flask应用。可以使用app.run方法来启动开发服务器,默认监听本地的5000端口。
if __name__ == '\_\_main\_\_':
    app.run()

上述代码判断当前模块是否为主模块,如果是,则执行app.run方法启动应用。

通过上述的语法介绍,可以看出Flask框架的使用非常简单和直观。它提供了一种优雅的方式来构建Web应用程序,并支持动态路由、请求处理、模板渲染等常见的Web开发功能。同时,Flask还提供了丰富的扩展和插件,可以进一步扩展应用的功能。无论是初学者还是有经验的开发者,都可以轻松上手使用Flask框架进行Web开发。

案例:

好的,下面以一个简单的留言板应用为例,详细介绍Flask框架的使用。

  1. 导入模块:
from flask import Flask, render_template, request, redirect

导入了Flask框架的核心类Flask,以及用于渲染模板、处理请求、重定向等的辅助模块。

  1. 创建应用:
app = Flask(__name__)

创建了一个Flask应用对象,传入__name__参数作为应用的名称。

  1. 定义路由和处理函数:
messages = []

@app.route('/')
def home():
    return render_template('home.html', messages=messages)

@app.route('/add\_message', methods=['POST'])
def add\_message():
    message = request.form.get('message')
    messages.append(message)
    return redirect('/')

定义了两个路由和对应的处理函数。第一个路由’/‘用于显示留言板页面,使用render_template函数渲染模板’home.html’,并将留言列表messages传递给模板。第二个路由’/add_message’用于处理添加留言的请求,方法为POST。它从请求中获取表单数据message,并将其添加到留言列表中,然后重定向到根页面。

  1. 创建模板:
    在项目的templates文件夹中创建模板’home.html’,用于展示留言板页面的内容。
<!DOCTYPE html>
<html>
<head>
  <title>留言板</title>
</head>
<body>
  <h1>留言板</h1>
  <form action="/add\_message" method="post">
    <input type="text" name="message">
    <input type="submit" value="添加留言">
  </form>
  <ul>
    {% for message in messages %}
      <li>{{ message }}</li>
    {% endfor %}
  </ul>
</body>
</html>

模板使用了HTML和Jinja2模板引擎的语法,通过{% for %}循环遍历留言列表messages,将每条留言显示为一个列表项。

  1. 运行应用:
if __name__ == '\_\_main\_\_':
    app.run()

通过判断当前模块是否为主模块,如果是,则执行app.run方法启动应用。

以上是一个简单的留言板应用的代码示例。用户可以在留言板页面输入留言内容,点击添加留言按钮后,会将留言添加到列表中,并刷新页面显示最新的留言列表。Flask框架实现了路由和请求处理的映射关系,可以方便地处理不同URL的访问和相应的操作。同时,使用模板引擎可以在页面中动态显示数据,让应用更具交互性和可扩展性。

Flask框架的简洁语法和丰富的功能使得Web应用开发变得更加容易和高效。开发者可以根据需要进一步扩展应用的功能,例如处理表单验证、数据库操作、用户认证等。无论是开发一个简单的留言板应用还是复杂的商业网站,Flask都是一个强大而灵活的选择。

练习题:

  1. 创建一个Flask应用并实现一个简单的网页显示功能。
  2. 在Flask应用中添加一个路由和视图函数,实现表单提交和数据处理。
  3. 使用Flask的模板引擎,根据不同的URL路径显示不同的内容。

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里无偿获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐