2014-02-13 236 views
1

我有几个不同的模板,我试图用于我的烧瓶应用程序。烧瓶:render_template与路径

我曾尝试以下,但它似乎只能看里面直接/模板,而不是/模板/资料夹,模板/资料夹等

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

预期都没有工作,我怎么能指定不同模板的子文件夹。

+1

第二个应该只是罚款 - 那么你的目录结构是什么样子? –

+0

里面的模板文件夹我有'folder1'包含index.html和'fol​​der2'包含index2.html – KJW

回答

-1

我觉得肖恩是对的,还有:你尝试过双引号吗?我使用的是蓝图,因此它可能是不同的,但是这是我的样子:

return render_template("users/register.html") 

所以你可能是:

return render_template("folder1/index.html") 
+3

以任一种方式的单引号,双引号或三引号......它们都是字符串,因此没有差别。 :-) –

+1

我是herp,我是derp。 –

+0

没关系我用的是index2.html而不是index.html – KJW

0

的模板文件夹可以在创建应用程序瓶时指定(或蓝图):

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检索父目录路径(应用程序根)