Flask展示静态文件

Flask静态文件访问问题解决方案 例如,如果你的CSS文件位于"static/css/styles.css",那么在HTML模板中引用它的路径应该是"{{ url_for(‘static’, filename=‘css/styles.css’) }}"。通过配置静态文件夹、使用url_for函数、设置静态文件的路由、检查文件权限和使用调试模式,可以解决Flask无法访问静态文件的问题。确保在使用这些方法时,文件路径和文件夹结构设置正确,并且文件权限设置正确。在Flask中,可以使用内置的url_for函数生成静态文件的URL。 阅读详情

目录

描述

通过url直接访问静态文件

通过路由访问

重定向访问


描述

Flask可以在浏览器中展示静态文件(例如txt文件、json文件、html文件等)。展示静态文件的手段有三种,分别是直接输入url访问、通过路由访问和重定向访问。

通过url直接访问静态文件

首先要在Python工程中创建一个目录static(名字和相对位置均不能改动)。如下所示:

在static目录下创建想要展示的文件。在这里我创建了一个test1.json和case.html

test1.json:

{
  "name": "MacBook Pro",
  "system": "Mac OS X"
}

case.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Case test</title>
</head>
<body>
    <h1>Demo HTML file</h1>
    <p>This is a demo file for Python flask. It's very interesting.</p>
    <p>I love python. And I also love you.</p>
</body>
</html>

static目录中的文件分布如下:

接着在python工程目录下创建class7.py,也就是使用Flask框架的脚本:

脚本代码如下:

import webbrowser
from flask import Flask

app = Flask(__name__)

if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

脚本中初始化Flask类然后启动它。没有定义任何函数。

现在来启动class7.py,代码默认打开根路由:http://127.0.0.1:5000/

页面报错404.这是因为我们没有定义根路由。因此现象是正常的。

接下来我们先访问test1.json文件。在浏览器中输入:http://127.0.0.1:5000/static/test1.json,浏览器成功显示出test1.json文件中的全部内容:

接着访问casse.html,使用同样的方式:在浏览器中输入 http://127.0.0.1:5000/static/case.html

?提示:修改静态文件不需要重启Flask服务器就可以看到修改后的显示效果。

通过路由访问

可以定义一个路由访问静态文件。(文件路径结构保持不变)

下面的代码定义了一个静态路由/show,在该路由下会展示/static/test1.json文件中的内容(通过show_file函数调用send_static_file方法实现)

import webbrowser
from flask import Flask

app = Flask(__name__)

# 通过路由访问
# 运行程序,http://127.0.0.1:5000/show
@ app.route("/show")
def show_file():
    return app.send_static_file("test1.json")

if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

运行代码,在浏览器中输入:http://127.0.0.1:5000/show, 就可以在浏览器中看到test1.json文件的内容了。

重定向访问

定义一个路由,使用redirect()函数将路由重定向到静态文件的url。通过路由重定向访问静态文件。

下面的代码定义了静态路由/demo。函数direct_show()中调用redirect()方法将路由重定向到静态文件的url。

import webbrowser
from flask import Flask, redirect

app = Flask(__name__)

# 重定向访问
# 运行程序,http://127.0.0.1:5000/demo
@ app.route("/demo")
def direct_show():
    return redirect("/static/case.html")


if __name__ == "__main__":
    webbrowser.open("http://127.0.0.1:5000")
    app.run()

运行代码,在浏览器中输入 http://127.0.0.1:5000/demo,输入完毕后浏览器url会自动跳转到 http://127.0.0.1:5000/static/case.html。

Python Flask学习:使用静态文件及定义页面图标 页面图标(也称为网站图标或favicon)是显示在浏览器标签页和书签中的小图标。Flask允许我们为我们的网页定义一个页面图标。要定义一个页面图标,我们需要在Flask应用程序的根目录下创建一个名为"static"的文件夹(如果尚未创建),并将页面图标文件放置在其中。通常,页面图标文件的命名为"favicon.ico",并且可以是一个ICO、PNG或GIF文件。app.run()在上述示例中,我们创建了一个Flask应用程序,并定义了一个名为"index"的路由。 阅读详情

相关推荐

使用Flask框架和Nginx实现静态文件访问限制功能

在本篇文章中,我们将介绍如何结合Flask框架和Nginx服务器来实现对静态文件的访问限制功能。综上所述,通过结合Flask框架和Nginx服务器,我们可以实现对静态文件的访问限制功能。Flask框架用于处理请求和发送文件,而Nginx服务器用于配置访问限制规则并代理请求。通过访问Nginx服务器的地址,可以看到对于被限制的静态文件,会返回"Access denied";在请求处理函数中,首先检查请求的文件名是否在需要限制访问的文件列表中,如果在列表中,则返回"Access denied";

BugHunterX的博客 389

Python Web开发,Flask学习——第三篇 静态文件

静态文件(static files)和我们的模板概念相反,指的是内容不需要动态生成的文件。比如图片、CSS 文件和 JavaScript 脚本等。

白话机器学习 1678

Python Flask Web教程008:Flask 静态文件

Flask 静态文件 Web应用程序通常需要静态文件,例如javascript文件或支持网页显示的CSS文件。在flask中这些文件是从项目所在目录的static文件夹中提供: 在下面的示例中,在index.html中的HTML按钮的OnClick事件上调用hello.js中定义的javascript函数,该函数在Flask应用程序的“/”URL上呈现。 python脚本: from flask import Flask, render_template app = Flask(__name__) @

若北辰 1941

Flask Web框架的使用-静态文件和模版

大家好我是ζ小菜鸡,让我们一起来学习Flask Web框架的使用-静态文件和模版。(一起努力,咱们顶峰相见!!!)

精益求精,永无止境,永远在路上! 1869

如何在Flask中处理静态文件

Flask是一个轻量级的Python Web框架,它提供了构建Web应用程序所需的基本工具和功能。Flask的设计哲学是保持简单和可扩展性,这使得它非常适合初学者和有经验的开发者。在Flask中,你可以很容易地处理静态文件,如CSS、JavaScript和图像等。本文将详细介绍如何在Flask中处理静态文件,包括如何配置静态文件夹、如何访问静态文件以及如何处理静态文件的缓存问题。本文详细介绍了如何在Flask中处理静态文件,包括如何配置静态文件夹、如何访问静态文件以及如何处理静态文件的缓存问题。

木头大左的博客 761

ThingsBoard实战指南:RPC命令下发与设备交互详解

本文深入解析了ThingsBoard平台中RPC命令下发的核心机制与实战应用。通过对比客户端与服务端RPC模式,详细阐述了从仪表盘控件配置到设备端Python代码响应的完整双向交互流程,并提供了常见问题排查与进阶优化技巧,帮助开发者构建可靠、实时的物联网设备控制系统。

weixin_29168153的博客 211

Flask 静态文件

Flask 静态文件 Web应用程序通常需要静态文件,例如javascript文件或支持网页显示的CSS文件。通常,配置Web服务器并为您提供这些服务,但在开发过程中,这些文件是从您的包或模块旁边的static文件夹中提供,它将在应用程序的/static中提供。 特殊端点static用于生成静态文件的URL。 在下面的示例中,在index.html中的HTML按钮的OnClick事件上调用hello.js中定义的javascript函数,该函数在Flask应用程序的“/”URL上呈现。 这三个目录同等级

weixin_45793065的博客 930

WinForm实战:如何用C#和PdfiumViewer打造一个功能齐全的PDF阅读器(含源码)

本文详细介绍了如何使用C#和PdfiumViewer库从零开始构建一个功能齐全的WinForm PDF阅读器。内容涵盖项目环境搭建、核心组件解析、基于命令模式的工具栏与UI架构设计,并深入讲解了智能缩放、页面导航、打印功能等核心交互的实现,以及内存管理和性能优化等高级话题,为开发者提供了一套完整的实战解决方案。

docker8compose的博客 503

【Flask】Flask 静态文件

Flask 静态文件 Web应用程序通常需要静态文件,例如javascript文件或支持网页显示的CSS文件。通常,配置Web服务器并为您提供这些服务,但在开发过程中,这些文件是从您的包或模块旁边的static文件夹中提供,它将在应用程序的/static中提供。 特殊端点'static'用于生成静态文件的URL。 在下面的示例中,在index.html中的HTML按钮的OnClick事件上调用hello.js中定义的javascript函数,该函数在Flask应用程序的“/”URL上呈现。 创建te

mjiansun的专栏 523

VScode+MPLAB AI助手:Microchip MCU开发全流程实战解析

本文详细解析了如何使用VScode搭配MPLAB AI助手进行Microchip MCU开发的完整流程。从环境配置、工程创建到代码生成与调试,全面介绍了AI助手在提升开发效率、优化代码和故障排除方面的实际应用,为嵌入式开发者提供了一套高效的开发解决方案。

hh234的博客 1131

Oracle到金仓数据库信创改造迁移实施规划方案

**性能测试和优化**:对金仓数据库的性能进行测试,根据业务负载情况进行必要的调优,确保系统能够稳定高效运行。- **数据兼容性**:评估Oracle数据库中的数据结构和金仓数据库的兼容性,明确需要重构的数据模型。- **性能测试**:通过对金仓数据库的性能测试,预估在实际业务环境下的表现,是否能达到业务需求。- **工具选择**:选择适合的迁移工具,如金仓数据库提供的迁移工具,能够提升迁移效率和准确性。- **全面迁移**:在初步迁移成功后,进行全面数据迁移,确保所有数据完整迁移到金仓数据库上。

hdrhdrjdididrr的博客 480

flask入门(三)静态文件

咪哥杂谈本篇阅读时间约为 5 分钟。1前言上篇文章讲到 flask 的模板文件如何使用,印象模糊的朋友可以回顾一下flask入门 (二)(不用写代码的前端!)今天的主题 ...

咪哥杂谈 580

【邻接表存图模板】vector邻接表、数组邻接表、链式前向星

一、目录 一、目录 二、前言 三、邻接表“详解” (一)边的信息 (二)几种邻接表的实现方法“详解” 1.数组邻接表 代码 2.vector邻接表 代码 vector邻接表还有一种魔性写法: 3.链式前向星 代码 四、总结 二、前言 本来之前自己太弱了,一直只会用邻接矩阵,后来发现邻接表才是主流... 参考&特别鸣谢: https://www.cnblog...

十里寒塘路♣烟花一半醒 3113

【Python】在Flask中如何优雅地处理静态文件

这里我们通过Flask构造函数的参数自定义了静态文件的目录,从默认的static改为my_static。

PythonWeb实践 2168

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

MicroChip的SmartFusion2的M2S090芯片的全流程开发环境搭建和Demo设计

qq_45806640的博客 455

2024年广东省职业院校技能大赛“区块链技术应用”任务书—区块链应用系统开发参考答案

摘要 本文档提供了2024年广东省职业院校技能大赛"区块链技术应用"项目中区块链电子签章前端功能开发的参考答案。主要内容包括:1)注册页面开发,实现身份证号码双向绑定和注册请求发送;2)登录页面开发,实现用户认证、状态保存和页面跳转;3)个人印章页面开发,实现注销功能和印章信息展示。每个任务均包含具体实现代码片段和功能测试要点,涵盖Vue.js框架下的数据绑定、axios请求处理和本地存储等关键技术点。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 343

Python Flask框架学习10:Flask 静态文件

url链接和加载静态文件 url链接: 1、语法:url_for('static',filename='路径') 2、静态文件,flask会从static文件夹中开始寻找,所以不需要再写static这个路径 3、可以加载CSS/js/image 静态文件 <link rel="stylesheet" href="{{url_for('static',filename='css/index.css')}}"> <script src="{{url_for('static',f...

张陈亚的博客 1401

AUTOSAR知识点 之 XCP (二):XCP基础概念

学习XCP的过程中,对XCP的基本概念要做一个全面的认知,因为里面有很多缩写以及难以理解的点,假设对此模模糊糊一知半解,那么对整个协议栈的认知会遇到极大的障碍。XCP的信号流传输图示如下XCP 标准主要分为 5 个部分:这部分提供了对于协议的一个概况介绍,包括 XCP 的功能和基础性内容。这部分内容对协议层进行了详细的规范和说明。

梦想技术家 2769

[译]Flask教程--静态文件

一个web应用经常需要javascript或css之类的静态文件来帮助网页更好的展示内容. 通常, web服务器被用来提供这种静态文件服务, 但在Flask程序的开发阶段, 这些文件需要被放置在Flask应用根目录下的static文件夹中, 启动后使用时url前缀以/static开头. 在下面的例子中, hello.js文件中定义了一个j...

weixin_34144450的博客 137

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

flask入门教程(4) - 静态文件

静态文件 既然有模板文件,那么图片什么的当然也不能少,这被称为静态文件。那么这些静态文件放哪呢,正如名字一样,应该放在static文件夹里,先给大家安利一张图片以作测试: 目前的目录结构: - static - test.jpg - templates - index.html app.py 按照正常思路,我们把index.html改成这样: <!DOCTYPE html&gt...

pynickle的博客 293

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Flask 静态文件和Request对象Form属性

Flask静态资源引入和Request对象的Form属性

qq_44791003的博客 647

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

html引入js文件_《Flask 入门教程》第 4 章:使用静态文件

静态文件(static files)和我们的模板概念相反,指的是内容不需要动态生成的文件。比如图片、CSS 文件和 JavaScript 脚本等。在 Flask 中,我们需要创建一个 static 文件夹来保存静态文件,它应该和程序模块、templates 文件夹在同一目录层级,所以我们在项目根目录创建它:$ mkdir static生成静态文件 URL在 HTML 文件里,引入这些静态文件需要给...

weixin_39857480的博客 368

flask返回静态页面html文件,如何在Flask中提供静态文件

如何在Flask中提供静态文件所以这很尴尬。我有一个应用程序,我把它放在一起,Flask现在它只是提供一个静态HTML页面,其中包含一些CSS和JS的链接。我无法在文档Flask中找到返回静态文件的位置。是的,我可以使用,render_template但我知道数据没有模板化。我曾经想过send_file或者url_for是对的,但是我无法让它们发挥作用。与此同时,我正在打开文件,阅读内容,并Res...

weixin_39612499的博客 651

前端项目引入js文件写绝对目录还是相对目录_flask入门(三)静态文件

flask入门(三)静态文件前言上篇文章讲到 flask 的模板文件如何使用,印象模糊的朋友可以回顾一下flask入门 (二)(不用写代码的前端!)今天的主题 - flask 和静态文件结合的使用技巧。静态文件概念先来简单的介绍下,静态文件是什么?静态文件(static files),在通常的 web 项目下,指的是内容不需要动态生成的文件。比如图片、CSS 文件和 JavaScript 脚本等。...

weixin_39973009的博客 643

Python Flask Web 第六课 —— 静态文件

1. 静态文件与 web 程序的组成Web 程序不是仅由 Python 代码 模板组成, 静态文件, HTML 代码中引用的图片、 JavaScript 源码文件、 CSS; >>> app = Flask(__name__) >>> app.url_map Map([<Rule '/static/<filename>' (GET, OPTIONS, HEAD) -> static>])当我们查

1万+
上一篇: Python str capitalize方法:将字符串的首字母大写
下一篇: Python zip函数
TCatTime
博客等级 码龄9年 400粉丝 256原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值