当前位置: 首页 > news >正文

Python Flask 渲染静态程动态页面

Python Flask 渲染静态程动态页面

  • Python Flask 渲染静态程动态页面

Python Flask 渲染静态程动态页面

对网页应用程序来说,静态内容是重要的,因为它们包括 CSS 和 JavaScript 文件。静态文件可以直接由网页服务器提供。如果我们在我们的项目中创建一个名字是 static 目录,并且重定向客户端到静态文件位置,Flask 可以支持静态内容。

动态内容可以使用 Python 创建,但它很乏味,需要在Python中维护这样的代码。

推荐的方法是使用 Jinja2 等模板引擎。Flask 附带了 Jinja2 库,因此不需要安装额外的库,也不需要添加任何额外的配置来设置 Jinja2。下面显示了一个具有两个函数的示例代码,一个处理静态内容的请求,另一个处理动态内容的请求:

# 渲染静态和动态页面

from flask import Flask, render_template, url_for, redirect

app = Flask(__name__)

@app.route("/hello")
def hello():
    hello_url = url_for("static", filename="app3_static.html")
    return redirect(hello_url)

@app.route("/greeting")
def greeting():
    msg = "这是来自宇宙深处的消息。"
    return render_template("app3_dynamic.html", greeting=msg)

if __name__ == '__main__':
    app.run()

为了更好地理解这个示例代码,我们将强调一下关键点:

  • 我们从Flask导入了其他模块,如 url_forredirectrender_template
  • 对于/hello 路由,我们使用 url_for 函数构建一个 URL,其中静态目录和 HTML 文件名作为参数。我们向浏览器发送响应,这是一条指令,将客户端重定向到静态文件位置的 URL。重定向指令通过使用 300-399 范围内的状态码指示给网页浏览器,当我们使用重定向功能时,Flask会自动设置该状态码。
  • 对于 /gtreating 路由,我们使用 render_template 函数渲染一个 Jinja 模板 app3_dynamics.htm。我们还将问候消息字符串作为值传递给模板的变量。问候语变量将可用于 Jinja 模板,如 app3_dynamics.html 文件中的以下模板摘录所示:
<!DOCTYPE html>
<body>
{% if greeting %}
<h1> {{greeting}}!</h1>
{% endif %}
</body>
</html>

这是最简单的 Jinja 模板,其中 if 语句用 <%%> 括起来,Python变量使用两个花括号{{}}格式包含在内。我们不会详细介绍 Jinja2 模板,但我们强烈建议您通过他们的在线平台熟悉Jinja2的模板
(https://jinja.palletsprojects.com/).

可以使用 curl 工具和网页浏览器访问这个网页应用程序。

<完>

相关文章:

  • PerceptronLexicalAnalyzer浅讲
  • 鬼泣:移动系统2
  • 技术债务未纳入计划管理怎么办
  • 在Dify中访问Gemini等模型代理设置指南
  • 蓝桥杯备考:离散化详解
  • kafka + flink +mysql 案例
  • [Web]get请求和post请求
  • 机器学校的考试风波:误差分析、过拟合和欠拟合
  • Java多线程和锁_八股场景题
  • 2025年人工智能的发展前景将呈现多维度、深层次的变革,涵盖技术突破、行业应用、算力基础设施、政策法规等多个领域.结合工作情况,个人看法参考。
  • Cocos Creator Shader入门实战(三):CCEffect参数配置讲解
  • 捌拾贰- 贝尔不等式 (2)
  • 大白话JavaScript闭包实现原理与在实际开发中的应用场景
  • AF3 correct_msa_restypes函数解读
  • mac本地代理nginx,解决跨域问题
  • 【Java代码审计 | 第六篇】XSS防范
  • 【React】React + Tailwind CSS 快速入门指南
  • VBA高级应用30例Excel中ListObject对象:提取表内单元格的格式元素
  • WPF 之SizeToContent
  • 8.1linux竞争与并发知识讲解(尽可能详细)_csdn
  • 服装公司网站建设策划书/2023年6月疫情恢复
  • 燕赵邯郸网站建设/网络营销技术
  • wordpress做社交网站吗/网站推广怎么优化
  • 旅游网站怎么自己做/网络口碑营销名词解释
  • 优秀的网站设计/外贸网站有哪些平台
  • 聚美优品网站建设策划书/泰安百度推广代理商