Hello!
Suppose I have a file named layout_dual.html, with the following contents:
{% extends "layout.html" %}
{% block before_page %}
<h1>Hello!</h1>
{% endblock %}
Then, in my layout.html file:
<!DOCTYPE html>
<html>
<head>
<title>Hello!</title>
</head>
<body>
{% block inner_page %}
{% block before_page %}
{% endblock %}
{% include page + ".html" %}
{% endblock %}
</body>
</html>
What I would like to do is to render the block *inner_page* from the
layout.html template, but using the layout_dual.html template (basically
having *template_dual.html* "populate" the base *template.html*). Is this
possible?
I can't just include template_dual.html in template.html, as
template_dual.html might be some other template.
Right now I've a method get_block_html which looks like this (I'm also
using Flask, hence `current_app`):
def get_block_html(template_name, block_name, **kwargs):
template = current_app.jinja_env.get_template(template_name)
context = template.new_context(vars=kwargs)
return template.blocks[block_name](context)
This works if I render layout.html directly, but if I try to render
layout_dual.html `{% extends "layout.html" %}` will not be "expanded" (I
suppose the *render* method does this).
What I am trying to accomplish is basically making Flask work with a system
like PJAX <https://github.com/defunkt/jquery-pjax>, though I'm not using
PJAX in particular but rather doing a custom solution.
So, as stated above, can I accomplish this with Jinja?
--
You received this message because you are subscribed to the Google Groups
"pocoo-libs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/pocoo-libs.
For more options, visit https://groups.google.com/d/optout.