簡體   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