第3天:模板渲染与静态文件处理

第3天:模板渲染与静态文件处理

模板渲染简介

在Web开发中,模板是一个包含动态内容占位符的文本文件。Flask使用Jinja2模板引擎来渲染这些模板,生成最终发送给用户的HTML页面。

为什么使用模板?
  • 分离逻辑与展示:将Python代码与HTML分离,使得Web页面的创建更加灵活。
  • 动态内容:可以轻松地将变量和逻辑插入到HTML中。
  • 重用性:模板可以被多个视图函数重用。
创建和渲染模板
  1. 创建模板文件

    • Flask的模板文件通常以.html为扩展名,存放在项目目录下的templates文件夹中。
  2. 编写模板

    • 在模板中,你可以使用Jinja2的语法来插入变量和控制结构(如循环和条件语句)。

示例模板 (templates/greet.html):

<!DOCTYPE html>
<html>
<head>
    <title>Greeting</title>
</head>
<body>
    <h1>Hello, {{ name }}!</h1>
</body>
</html>
  1. 在视图函数中渲染模板
    • 使用render_template函数来渲染模板,并传递变量。

示例视图函数

from flask import Flask, render_template

app = Flask(__name__)

@app.route('/greet/<name>')
def greet(name):
    return render_template('greet.html', name=name)
静态文件处理

静态文件是指不会被服务器端代码处理的文件,如CSS、JavaScript和图片文件。Flask提供了一个简单的方法来管理这些文件。

  1. 存放静态文件

    • 静态文件通常存放在项目目录下的static文件夹中。
  2. 引用静态文件

    • 在模板中,你可以使用url_for函数来生成静态文件的URL。

示例

<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
使用静态文件
  • static文件夹中创建一个style.css文件,并在模板中引用它。
模板继承

Jinja2支持模板继承,这意味着你可以创建一个基础模板,定义通用的结构和样式,然后在其他模板中扩展它。

示例基础模板 (templates/base.html):

<!DOCTYPE html>
<html>
<head>
    <title>{% block title %}My App{% endblock %}</title>
    <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">
</head>
<body>
    {% block content %}{% endblock %}
</body>
</html>

扩展基础模板

{% extends 'base.html' %}
{% block title %}Greeting{% endblock %}
{% block content %}
    <h1>Hello, {{ name }}!</h1>
{% endblock %}
结语

今天,我们学习了如何在Flask中使用模板来渲染动态内容,以及如何管理静态文件。模板渲染使得我们可以创建动态且可重用的Web页面,而静态文件处理则帮助我们管理CSS、JavaScript和图片等资源。

明天,我们将学习如何处理表单数据,这是Web应用中与用户交互的重要部分。


记得尝试创建自己的模板和静态文件,看看它们是如何工作的。实践是学习的关键,所以不要犹豫,动手实践吧!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值