3. Flask 静态文件模板文件设置

Posted 海洋的渔夫

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了3. 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

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

可以看到默认访问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()


以上是关于3. Flask 静态文件模板文件设置的主要内容,如果未能解决你的问题,请参考以下文章

加载静态文件,父模板的继承和扩展(2017.11.3)

Flask:静态文件&模板(0.1)

Flask之模板之宏继承包含

加载静态文件,父模板的继承和扩展

[学习记录]flask资源加载

使用 Vue + Flask 搭建单页应用