【问题标题】:How do you nest in Django Templates?你如何嵌套在 Django 模板中?
【发布时间】:2016-07-05 22:09:10
【问题描述】:

我正在尝试将基于 PHP 的网站迁移到以 Django 为框架的 Python 中。

但是我在使用模板时遇到了真正的问题。我似乎无法理解它们在结构方面是如何工作的。

这里我指的是“嵌套”,使用不同的页面来构建模板,就像在 PHP 中所做的那样。以以下为例-

index.php -

<html>  
<head>      
    <title>Home | Sequence Control Panel</title>
    <?php require_once "head.php"; ?>
</head>     
    <body>          
        <!-- Header -->             
            <?php require_once "nav.php"; ?>

        <p>Hello World</p>

        <!-- Footer -->
            <?php require_once "footer.php"; ?>
    </body>
</html>

footer.php -

<footer id="footer">
<ul class="icons">
    <li><a href="#" class="icon fa-twitter"><span class="label">Twitter</span></a></li>
    <li><a href="#" class="icon fa-facebook"><span class="label">Facebook</span></a></li>
    <li><a href="#" class="icon fa-instagram"><span class="label">Instagram</span></a></li>
    <li><a href="#" class="icon fa-dribbble"><span class="label">Dribbble</span></a></li>
    <li><a data-toggle="modal" data-target="#myModal" class="icon fa-envelope-o"><span class="label">Email</span></a></li>
</ul>
<ul class="copyright">
    <li>&copy; <?= date('Y'); ?> Sequence CP</li><li><a href="terms-and-conditions">Terms &amp; Conditions</a></li>
</ul>

基本上,我将页脚、标题和导航分成三个不同的页面并链接回它们。

如何将多个页面的内容链接到一个页面,就像我在上面使用 index.php 和 footer.php 使用 &lt;?php require_once "footer.php"; ?&gt; 所做的那样

我知道我可以使用 -

{% block content %}

    <p>Hello World</p>

{% endblock content %}

但我只能在我的模板中执行一次。我似乎无法多次使用block content

一个页面如何嵌套多个页面而不是一个页面?

PS:我是 Django 新手

【问题讨论】:

标签: php python html django


【解决方案1】:

Django 有一个include 模板标签,允许您在当前模板中加载其他模板(如页眉和页脚)并使用context 呈现它们:

{% include "header.html" %}

{% include "footer.html" %}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-20
    • 2010-12-26
    • 1970-01-01
    • 2011-10-11
    • 2012-10-25
    • 2014-03-04
    • 2021-03-28
    相关资源
    最近更新 更多