Jinja2 template super functions not rendered with django

时间秒杀一切 提交于 2019-12-02 18:45:44

问题


I have two very simple templates like

index.html:

<html>
    <head>
    </head>
    <body>
        {% block content %}hello{% endblock %}
    </body>
</html>

and details.html

{% extends "index.html" %}
{% block content %}{{ super() }} world{% endblock %}

but when i render a view with details.html i get this error

Could not parse the remainder: '()' from 'super()'

do i need some import somewere?

(templates are rendered properly until i use the super() function)


回答1:


Django 1.7 and earlier do not support Jinja natively. Unless you've done something to use Jinja, your templates should be in Django template language, and you can't use Jinja.

Django 1.8 will have support for multiple template engines, and native support for Jinja2.

In Django template language, you can use {{ block.super }} to access the content of the block from the parent template.



来源:https://stackoverflow.com/questions/29104248/jinja2-template-super-functions-not-rendered-with-django

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!