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