专栏首页Devops专栏Flask 静态文件、模板文件设置

Flask 静态文件、模板文件设置

需求

Flask默认的设置

  • 静态文件的默认文件夹:static
  • 静态文件的默认访问前缀:/static
  • 模板文件的默认文件夹:templates

在Django项目中,如果需要访问静态文件,默认则是使用 /static 的前缀来进行访问。那么对于Flask来说,也是一样的。

那么如果需要修改默认的配置,应该怎么去设置呢?

可以在创建app的时候使用以下参数进行设置:

# 实例化app,参数如下:
# import_name,
# static_url_path=None,
# static_folder="static",
# static_host=None,
# host_matching=False,
# subdomain_matching=False,
# template_folder="templates",
# instance_path=None,
# instance_relative_config=False,
# root_path=None,
app = Flask(import_name=__name__,
            static_url_path='/python', # 配置静态文件的访问 url 前缀
            static_folder='static',    # 配置静态文件的文件夹
            template_folder='templates') # 配置模板文件的文件夹

配置示例

在Flask的项目中的static目录下创建一个index.html

编写app.py的代码

from flask import Flask

# 创建flask的应用对象
# __name__表示当前的模块名称
# 模块名: flask以这个模块所在的目录为根目录,默认这个目录中的static为静态目录,templates为模板目录
app = Flask(__name__)

# 定义url请求路径
@app.route('/')
def hello_world():
    """定义视图函数"""
    return 'Hello World!'

if __name__ == '__main__':
    # 启动flask
    app.run()

访问index.html

启动flask服务,访问 http://127.0.0.1:5000/static/index.html

可以看到默认访问index.html的路径是/static/index.html

在app.py设置静态文件的访问路径以及模板文件夹参数

测试访问修改前缀后的index.html

访问 http://127.0.0.1:5000/python/index.html

# 导入Flask类
from flask import Flask

# 实例化app,参数如下:
# import_name,
# static_url_path=None,
# static_folder="static",
# static_host=None,
# host_matching=False,
# subdomain_matching=False,
# template_folder="templates",
# instance_path=None,
# instance_relative_config=False,
# root_path=None,
app = Flask(import_name=__name__,
            static_url_path='/python', # 配置静态文件的访问 url 前缀
            static_folder='static',    # 配置静态文件的文件夹
            template_folder='templates') # 配置模板文件的文件夹

# route()方法用于设定路由;类似spring路由配置
@app.route('/')
def hello_world():
    return 'Hello, World!'

if __name__ == '__main__':
    # app.run(host, port, debug, options)
    # 默认值:host=127.0.0.1, port=5000, debug=false
    app.run()

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Redis 数据结构之hash类型

    Devops海洋的渔夫
  • Sublime3 设置JavaScript自动补全 - SublimeCodeIntel插件

    在Sublime3编写HTML和JS的时候,没有补全的确很不方便。那么怎么处理呢?

    Devops海洋的渔夫
  • 7. Vue 使用v-on、v-click编写跑马灯效果示例

    在这里提示substring方法未定义,其实这是一个this指针的问题。因为当将截取字符串的操作方法放入定时器的function()中,那么此时this指针则是...

    Devops海洋的渔夫
  • [C#6] 1-using static

    0. 目录 C#6 新增特性目录 1. 老版本的代码 1 using System; 2 3 namespace csharp6 4 { 5 ...

    blackheart
  • 深入理解Java常用类-----时间日期

         除了String这个类在日常的项目中比较常用之外,有关时间和日期的操作也是经常遇到的,本篇就讲详细介绍下Java API中对时间和日期的支持。其实在J...

    Single
  • 入侵美国国家安全实验室的黑客已被判处18个月徒刑

    用户1127987
  • 深信服一面C++

    牛客网
  • Android旁门左道之动态替换系统View类

    导语 本文讲述如何通过替换系统View类的方法,定位一个特殊机型问题 作者: yarkeyzhang  2017.6.29 一,ImageView...

    MelonTeam
  • 单例模式的几种实现方式及对比

    单例模式是设计模式中最简单也是最常用的模式之一,所谓单例就是在系统中只有一个该类的实例。

    walking在cloud.tencent
  • 点击时扩散效果

    ProsperLee

扫码关注云+社区

领取腾讯云代金券