繁体   English   中英

如何在父母模板Django中访问上下文变量

[英]How to access context variables in parents template django

我的主模板index.htmlbase.html和带有标头_header_main.html文件,我扩展了base.html并包含_header_main.html但是传递给index.html变量在父模板中不可见

base.html:

<html>
    <head>
        <title>{% block title %}{% endblock %}</title>
        <!-- styles -->
        ...
    </head>
    <body>
        {% block _header_main %}{% endblock %}
        {% block _header_mobile %}{% endblock %}
        <div class="wrapper">
        <!-- header -->
        {% block header_main %}{% endblock %}
        {% block header_mobile %}{% endblock %}

        <div class="after_header"></div>
    <!-- end header -->
    {% block content %}{% endblock %}
        <footer class="footer">
            ...
        </footer>
    </div>
    </body>
</html>

_header_main.html:

<header class="header">
    <ul>
    {% for i in servers %}
        <li>{{ i.title }}</li>
    {% endfor %}
    </ul>
</header>

index.html:

{% extends "base.html" %}
{% load static %}
{% block title %}Title{% endblock %}
{% block header_main %}
    {% include "_header_main.html" %}
{% endblock %}
{% block content %}
    Some content...
{% endblock %}
<scripts>
...
</scripts>

如何访问模板中的变量items

编辑。 我在views.py中的功能

def index(request):
    servers = Server.objects.all().order_by('ranking')
    basket_count, total_price = basket_calculate(request)
    server_arr = [i.title for i in servers]
    servers_string = ', '.join(server_arr)
    return render(request, 'index.html', {'servers':servers, 'temp_year' : datetime.now().year,
                                          'basket_count':basket_count, 'total_price':total_price,
                                          'servers_string':servers_string })

我的items变量未显示在模板中的原因是,因为我添加了带jsjs <script>标记,所以我的脚本无法正常工作。 我将脚本添加到{% block script %} ,一切正常!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM