使用Wagtail CMS将StreamField号召性用语添加到base.html中

问题描述 投票:0回答:1

[嗨,我是Wagtail的新手,我在一个客户网站上工作。我打算做的是将我的w页面动态链接到侧边栏,该侧边栏当前位于主应用程序文件夹的模板目录中的base.html中,该目录带有settings.py。我想知道是否有一种方法可以在此处呈现base.html的号召性用语。或者,如果我应该制作一个单独的应用程序,然后在其中创建一个base.html,它扩展到我将在网站的其余部分中使用的所有其他模板。谢谢!

编辑:Above is the current home page I'm working with. The sidebar right now is just hard-coded since I haven't worked on that, and I want to know what the rest of the page looks like while I work on the main content.

上面的侧边栏编码为:

        <!-- in biodept/templates/base.html -->
        {% wagtailuserbar %}

        <div class="container main-container">
            <div class="row">
            <!-- Nav bar not mobile -->
            <nav class="nav" id="nav-1">
                <a class="nav-link nav-desktop-link nav-desktop-link-active" href="#">HOME</a>
                <a class="nav-link nav-desktop-link" href="#">BIOMEDICINE</a>
                <a class="nav-link nav-desktop-link" href="#">ECOLOGY & SYSTEMATICS</a>
                <a class="nav-link nav-desktop-link" href="#">MOLECULAR BIO & BIOTECH</a>
                <a class="nav-link nav-desktop-link" href="#">PROJECTS</a>
                <button class="dropdown-btn nav-link nav-desktop-link">PROGRAMS<ion-icon style="float: right; padding-top: 0.25vw;" name="caret-down-outline"></ion-icon></button>
                    <div id="btn-t" class="dropdown-container">
                        <a class="nav-link dropdown-nav-desktop-link" href="#">UNDERGRADUATE</a>
                        <a class="nav-link dropdown-nav-desktop-link" href="#">GRADUATE</a>
                    </div>
                <a class="nav-link nav-desktop-link" href="faculty.html">FACULTY PAGES</a>
                <a class="nav-link nav-desktop-link" href="#">BIODIVERSITY LABORATORY</a>
            </nav>
        {% block content %}{% endblock %}
            </div>
        </div>

同样,base.html与settings.py所在的目录相同。 BioDept是该项目的名称。

python django templates wagtail
1个回答
0
投票

注:根据更新后的问题,这似乎与StreamField无关,但这是有关如何基于Wagtail页面结构实现菜单的问题。

Wagtail没有提供用于呈现菜单的内置方法,这是因为它将是每个Wagtail站点所特有的,任何通用解决方案都可能只涵盖一小部分情况。但是,开始使用时可能会有些混乱。

Wagtail,确实带有一种指示页面应该显示在菜单中的方法,尽管这是每个Page模型的一部分。

您可以在此处的模型参考中看到这一点https://docs.wagtail.io/en/latest/reference/pages/model_reference.html#wagtail.core.models.Page.show_in_menus

用户可以在“促销”标签上编辑此值,加上上面的文档,您可以定义默认值(但是,现有页面需要以其他方式更新)。

enter image description here

实施菜单

这里有三种方法来实现菜单并将其用作项目中的template tagtemplate include

  1. 查看Bakerydemo代码

  2. 跟随本教程

  3. 安装扩展包

© www.soinside.com 2019 - 2024. All rights reserved.