一尘不染

flask:带有路径的render_template

flask

我有几个要用于我的flask瓶应用程序的模板。

我尝试了以下内容,但似乎只直接在/ templates内部查看,而不是/ templates / folder1,templates / folder2等。

 return render_template('index.html', template_folder='folder1')
 return render_template('folder1/index.html')

两者均无法正常工作,我如何指定不同模板的子文件夹。


阅读 3001

收藏
2020-04-06

共1个答案

一尘不染

可以在创建Flask应用程序(或蓝图)时指定template文件夹:

from flask import Flask
app = Flask(__name__, template_folder='folder1')

资料来源:http : //flask.pocoo.org/docs/0.12/api/#application-object

from flask import Blueprint
auth_blueprint = Blueprint('auth', __name__, template_folder='folder1')

资料来源:http : //flask.pocoo.org/docs/0.12/blueprints/#templates

在template_folder相对于在应用程序/蓝图所在。使用该os库可创建app / blueprint目录之外的模板文件夹的路径。

例如。

import os
APP_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
TEMPLATE_PATH = os.path.join(APP_PATH, 'templates/')

从应用程序根目录的子目录运行
APP_PATH检索父目录路径(应用程序根)

2020-04-06