Python Web 开发案例解析

一、Flask 基础应用案例

(一)项目搭建与初始化

  1. 环境准备
    • 安装 Python 解释器,确保版本符合 Flask 要求,如 Python 3.6 及以上。
    • 使用pip安装 Flask 库,命令为pip install flask
    • 可以创建虚拟环境,如python -m venv venv,激活虚拟环境后再进行项目开发,避免依赖冲突。
  2. 项目结构规划
    • 创建项目根目录,如my_flask_project
    • 在根目录下创建app.py作为 Flask 应用的主入口文件。
    • 建立templates目录用于存放 HTML 模板文件,static目录存放 CSS、JS 等静态文件。
  3. Flask 应用实例化
    • app.py中导入 Flask 类,如from flask import Flask
    • 创建 Flask 应用实例,app = Flask(__name__)__name__确保正确加载资源。
    • 可设置应用的配置参数,如app.config['DEBUG'] = True开启调试模式。

(二)路由与视图函数

  1. 基本路由定义
    • 使用@app.route('/')装饰器定义根路由,如@app.route('/') def index(): return 'Hello, World!'
    • 可以定义带参数的路由,如@app.route('/user/<username>'),视图函数接收参数username
    • 支持多种 HTTP 方法,如@app.route('/login', methods=['GET', 'POST']),根据方法处理不同逻辑。
  2. 视图函数逻辑处理
    • 在视图函数中进行数据处理,如从数据库查询数据,使用数据库连接库执行 SQL 查询。
    • 根据业务逻辑生成动态内容,如根据用户信息生成个性化问候语。
    • 可以返回不同类型的数据,如 HTML 页面、JSON 数据等,使用render_templatejsonify函数。
  3. 路由分组与蓝图
    • 对于复杂项目,创建蓝图来组织路由,如from flask import Blueprint; bp = Blueprint('user', __name__)
    • 在蓝图中定义路由,如@bp.route('/profile'),然后在主应用中注册蓝图,app.register_blueprint(bp)
    • 蓝图可使项目结构更清晰,便于维护和扩展。

(三)模板渲染

  1. Jinja2 模板引擎基础
    • 在 HTML 模板文件中使用{ { variable }}语法输出变量,如{ { username }}
    • 可以使用{% for %} {% endfor %}循环语句遍历数据,如{% for item in items %}{ { item }}{% endfor %}
    • 条件判断使用{% if %} {% endif %},如{% if user.is_authenticated %}Welcome, { { user.username }}{% endif %}
  2. 模板继承与复用
    • 创建基础模板,如base.html,定义公共的页面结构,如头部、导航栏等。
    • 子模板使用{% extends 'base.html' %}继承基础模板,然后使用{% block content %}{% endblock %}定义可替换的内容块。
    • 可以在子模板中覆盖基础模板的块,实现页面的个性化定制。
  3. 模板中加载静态文件
    • 在模板中使用{ { url_for('static', filename='css/style.css') }}引用静态文件,确保正确生成静态文件的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值