- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个带有蓝图的 Flask 应用程序。每个蓝图都提供了一些模板。当我尝试从第二个蓝图渲染 index.html
模板时,会渲染第一个蓝图的模板。为什么 blueprint2 覆盖 blueprint1 的模板?如何渲染每个蓝图的模板?
app/
__init__.py
blueprint1/
__init__.py
views.py
templates/
index.html
blueprint2/
__init__.py
views.py
templates/
index.html
blueprint2/__init__.py
:
from flask import Blueprint
bp1 = Blueprint('bp1', __name__, template_folder='templates', url_prefix='/bp1')
from . import views
blueprint2/views.py
:
from flask import render_template
from . import bp1
@bp1.route('/')
def index():
return render_template('index.html')
app/__init__.py
:
from flask import Flask
from blueprint1 import bp1
from blueprint2 import bp2
application = Flask(__name__)
application.register_blueprint(bp1)
application.register_blueprint(bp2)
如果我更改蓝图的注册顺序,则蓝图 2 的模板会覆盖蓝图 1 的模板。
application.register_blueprint(bp2)
application.register_blueprint(bp1)
最佳答案
这完全按预期工作,尽管不是您预期的那样。
为蓝图定义模板文件夹只会将文件夹添加到模板搜索路径。它不意味着从蓝图 View 调用render_template
只会检查该文件夹。
首先在应用程序级别查找模板,然后按照注册蓝图的顺序查找。这样一来,扩展程序就可以提供可以被应用程序覆盖的模板。
解决方案是在模板文件夹 中为与特定蓝图相关的模板使用单独的文件夹。仍然可以覆盖它们,但不小心这样做就更难了。
app/
blueprint1/
templates/
blueprint1/
index.html
blueprint2/
templates/
blueprint2/
index.html
将每个蓝图指向其 templates
文件夹。
bp = Blueprint('bp1', __name__, template_folder='templates')
渲染时,指向templates
文件夹下的具体模板。
render_template('blueprint1/index.html')
参见 Flask issue #1361进行更多讨论。
关于python - Flask 蓝图中的 render_template 使用其他蓝图的模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38220574/
return redirect(url_for('index', var=var)) return render_template('index.html', var=var) 这两行本质上是一样的吗
我有一个简单的任务:在 render_template() 函数中为不同的路由传递相同的变量。此 value 位于基本模板中,我需要将其传递给每个 render_template() 函数。我能否将此
我将这个Web应用程序放在一个 flask 中,在提交表单后,我想在其中执行一些ML和AI算法。我在Redis和rq的帮助下在后台作业中运行ML和AI算法(因为我的应用程序由Heroku托管,并且它们
Flask 不会使用新变量重新渲染模板页面。 Flask 代码 (app.py): from flask import Flask, render_template, request, redirec
我正在尝试将flask中的render_template方法调用到当前运行目录之外的模板 return render_template('../show_data.html',data=data) 您
我最近正在研究 Flask。我有一个问题。 我的脚本如下所示: @app.route('/') def index(): // execute return render_templa
这个问题已经有答案了: Update and render a value from Flask periodically (1 个回答) 已关闭 3 年前。 是否可以在 while 循环中更新我的
嗨,我在谷歌应用程序引擎中使用 jinja2 来渲染模板,但是当我传递阿拉伯语或波斯语字符串 az 模板变量时,我收到此错误 فروشگاه {{ name }} UnicodeDec
我有一个简单的 python 方法,它会生成一个 highcharts json @app.route('/make/a/chart') def make_chart(): data = get_
我有一个关于重定向到呈现模板的函数的问题。我有两个功能: @user.route('/register', methods=['GET', 'POST']) def register(): i
问候 我有一个 flask 应用程序: @app.route('/test') def test(): return render_template('index.ht
我正在尝试部署一个 flask 应用程序,我想要一个带有 html 文件列表的 flask.render_template() 方法。在这里,我看到它是合格的。 http://flask.pocoo.
这个问题在这里已经有了答案: Flask raises TemplateNotFound error even though template file exists (13 个答案) 关闭 7 年
我有以下测试: it "I can Sign Up with Facebook" do visit new_user_registration_path click_link_or
我使用 pdf.js 在 web 中渲染 pdf。目标网址的格式如下: http://www.example.com/book?file=abc.pdf 我的问题是: 我使用 flask 模板生成页面
我对 Flask 比较陌生,但我已经发现需要使用蓝图。但是,在我的蓝图中,我尝试渲染模板,但出现错误。 当连接为 WSGI 应用程序(在 Dreamhost 上)时,render_template 函
这个问题已经有答案了: How to replace the entire html webpage with ajax response? (6 个回答) How to replace innerH
作为 hello 函数参数的名称被分配为 None,但是如果在 url 中提供了名称,为什么 render_template 中的名称将采用该名称的值?基本上我的问题是Python如何知道哪个名称是N
在某些页面上,我希望我的表单下拉按特定顺序排列,而在其他页面中按默认顺序排列。当从我的应用传递特定顺序时,我在 form.html 中的宏似乎看不到它。 dropdown 从未使用过,模板始终显示全局
我正在渲染一个 Jinja 模板,我必须在其中传递许多变量。当有几个变量时,我可以使用这种语法: return render_template('page.html', var1 = foo, var
我是一名优秀的程序员,十分优秀!