• Python Flask: 构建轻量级、灵活的Web应用


    17458caee457f764a07161b09048e20c.jpeg

    Flask是一个流行的Python Web框架,以其轻量级、灵活和易学的特性受到开发者的喜爱。本文将深入探讨Flask框架的各个方面,通过详实的示例代码,帮助大家更全面地了解和掌握这一强大的工具。

    1. 安装与基本用法

    首先,需要安装Flask。

    使用以下命令:

    pip install Flask

    然后,我们创建一个简单的Flask应用:

    1. from flask import Flask
    2. app = Flask(__name__)
    3. @app.route('/')
    4. def hello():
    5.     return 'Hello, Flask!'

    在这个示例中,导入了Flask类,创建了一个应用实例,并使用@app.route('/')装饰器定义了根路径的视图函数hello

    运行应用:

    python your_file_name.py

    访问http://localhost:5000,你将看到"Hello, Flask!"。

    2. 路由与视图函数

    Flask使用路由来将URL映射到相应的视图函数。

    以下是一个更复杂的例子:

    1. from flask import Flask
    2. app = Flask(__name__)
    3. @app.route('/')
    4. def home():
    5.     return 'Home Page'
    6. @app.route('/about')
    7. def about():
    8.     return 'About Page'

    通过定义多个路由,使得不同的URL请求能够映射到不同的视图函数,提供了更灵活的路由控制。

    3. 模板引擎

    Flask内置了Jinja2模板引擎,用于将动态数据渲染到HTML页面中。创建一个templates文件夹,并在其中添加一个名为index.html的文件:

    1. "en">
    2.     "UTF-8">
    3.     "viewport" content="width=device-width, initial-scale=1.0">
    4.     {{ title }}
    5.     

      {{ message }}

    然后修改Flask应用:

    1. from flask import Flask, render_template
    2. app = Flask(__name__)
    3. @app.route('/')
    4. def index():
    5.     return render_template('index.html', title='Flask Template Example', message='Hello, Flask!')

    运行应用,访问http://localhost:5000,将看到HTML页面被动态渲染。

    4. 表单处理

    在Web应用中,表单是用户与后端交互的重要手段。使用Flask-WTF插件,可以更轻松地处理表单。

    首先安装插件:

    pip install Flask-WTF

    然后,示例代码:

    1. from flask import Flask, render_template
    2. from flask_wtf import FlaskForm
    3. from wtforms import StringField, SubmitField
    4. app = Flask(__name__)
    5. app.config['SECRET_KEY'] = 'your_secret_key'
    6. class MyForm(FlaskForm):
    7.     name = StringField('Name')
    8.     submit = SubmitField('Submit')
    9. @app.route('/form', methods=['GET''POST'])
    10. def form_example():
    11.     form = MyForm()
    12.     if form.validate_on_submit():
    13.         return f'Hello, {form.name.data}!'
    14.     return render_template('form_example.html', form=form)

    创建一个form_example.html模板:

    1. "en">
    2.     "UTF-8">
    3.     "viewport" content="width=device-width, initial-scale=1.0">
    4.     Form Example
    5.     

      Form Example

    6.     "POST" action="">
    7.         {{ form.hidden_tag() }}
    8.         for="name">Name:
    9.         {{ form.name(size=20) }}
    10.         {{ form.submit() }}
    11.     

    运行应用,访问http://localhost:5000/form,将看到一个简单的表单。

    5. 数据库集成

    Flask-SQLAlchemy是一个方便的SQLAlchemy扩展,用于在Flask应用中进行数据库操作。

    以下是一个简单的例子:

    首先安装SQLAlchemy和Flask-SQLAlchemy:

    pip install Flask-SQLAlchemy SQLAlchemy

    然后,示例代码:

    1. from flask import Flask, render_template
    2. from flask_sqlalchemy import SQLAlchemy
    3. app = Flask(__name__)
    4. app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///site.db'
    5. db = SQLAlchemy(app)
    6. class User(db.Model):
    7.     id = db.Column(db.Integer, primary_key=True)
    8.     username = db.Column(db.String(20), unique=True, nullable=False)
    9. @app.route('/users')
    10. def users():
    11.     all_users = User.query.all()
    12.     return render_template('users.html', users=all_users)

    创建一个users.html模板:

    1. "en">
    2.     "UTF-8">
    3.     "viewport" content="width=device-width, initial-scale=1.0">
    4.     User List
    5.     

      User List

    6.     
      •         {% for user in users %}
      •             
      • {{ user.username }}
    7.         {% endfor %}
    8.     
  • 运行应用,访问http://localhost:5000/users,将看到用户列表。

    总结

    本文深入介绍了Python Flask框架的各个方面,包括基本用法、路由与视图函数、模板引擎、表单处理以及数据库集成。Flask的简洁和灵活性使其成为一个理想的Web开发框架,适用于从小型项目到大型应用的各种场景。通过深入学习这些示例代码,可以更好地理解和应用Flask框架,从而构建出高效、可维护的Web应用。

    如果你觉得文章还不错,请大家 点赞、分享、留言 下,因为这将是我持续输出更多优质文章的最强动力!

    更多Python学习内容:ipengtao.com

    干货笔记整理

      100个爬虫常见问题.pdf ,太全了!

    Python 自动化运维 100个常见问题.pdf

    Python Web 开发常见的100个问题.pdf

    124个Python案例,完整源代码!

    PYTHON 3.10中文版官方文档

    耗时三个月整理的《Python之路2.0.pdf》开放下载

    最经典的编程教材《Think Python》开源中文版.PDF下载

    8d1fb3102ce1d091f2837c3fff64f80b.png

  • 相关阅读:
    shell中的简单的for循环
    UE5编译报错:Error MSB3073
    Kafka(二)消息系统设计
    Spring OAuth2 Resource Server 配置
    Matlab 如何把频谱图的纵坐标设置为分贝刻度
    哈夫曼编码(Huffman coding)
    java计算机毕业设计航空订票管理系统源程序+mysql+系统+lw文档+远程调试
    SpringBoot日志使用、记录日志文件
    基础练习 圆的面积
    js将图片或者文件转成base64格式的两种方法
  • 原文地址:https://blog.csdn.net/wuShiJingZuo/article/details/134410923