有使用 nunjucks 模板的朋友吗,请教个问题

ob:我建了几个 html 文件,布局如下:
base.html

<!DOCTYPE html>
<html lang="en">
<head>
    //头部内容
</head>
<body>
{% block header %}
<header>
    //导航内容
</header>
{% endblock %}

<main role="main">
{% block main %}
{% endblock %}
</main>

<script src="jquery-3.4.1.min.js"></script>

{% block script %}
{% endblock %}
<script type="text/javascript">cnzz 统计代码</script>
</body>
</html>

test.html

{% include "base.html" %}

{% block main %}
<div class="test">
    //test 页面内容
</div>
{% endblock %}

这样生成的页面,查看右键源代码结果是这样的:

<!DOCTYPE html>
<html lang="en">
<head>
    //头部内容
</head>
<body>
<header>
    //导航内容
</header>

<main role="main">
//这里面是空白
</main>

<script src="jquery-3.4.1.min.js"></script>

<script type="text/javascript">cnzz 统计代码</script>
</body>
</html>


<div class="test">
    //test 内容
</div>

上面只是示例代码
问题来了,test.html include base.html,然后用 block main 覆盖 base 的 main,查看右键源码的时候,他是在底部又生成了一份<div>,而且是在</html>外面,不是覆盖 base 的 main 位置,感觉很奇怪,虽然浏览器页面渲染显示也正常,没啥影响,有谁知道这种情况的吗?是否属于正常结果,还是我的使用方式不对?看官方文档说是覆盖的。

另外一个问题,用这种方式引入的 cnzz 统计代码,好像统计不到访问数据,日志打印一堆请求 ip,cnzz 统计出来的 ip 只有 1 个或 0 个的(可能是本地测试的才统计到),完全对不上,我 cnzz 加了 display: none,不显示小图标,按理不影响统计吧?

hoyixi:{% include "base.html" %}

=======
是 include, 还是 extends ? 我咋记得是 extends ?自己去看看文档

ob:@hoyixi 非常感谢,问题解决,用了 extends 确实覆盖在原来的 main 位置,好神奇,两个用法,竟然都能正常显示,看来我一直用错了。。

hoyixi:看你昵称,还以为你写过 PHP,写顺手了 :)

ob:@hoyixi 没有,前端渣,很少写界面的东西。。

Java中的<<或>>>是什么意思? - java

This question already has answers here: Closed 7 years ago. Possible Duplicate: What does >> and >>> mean in Java?我在一些Java代码中遇到了一些陌生的符号,尽管代码可以正确编译和运行,但对于括号在此代码中的作用却感…

将谓词<T>转换为Func <T,bool> - c#

我有一个包含成员Predicate的类,希望在Linq表达式中使用该类:using System.Linq; class MyClass { public bool DoAllHaveSomeProperty() { return m_instrumentList.All(m_filterExpression); } private IEnumerable&…

菱形运算符<>是否等于<?> - java

我在util.TreeSet类中发现,其中一个构造函数正在使用具有空泛型类型的新TreeMap调用另一个构造函数。 public TreeSet(Comparator<? super E> comparator) { this(new TreeMap<>(comparator)); } new TreeMap<>是什么意思…

Junit4和TestNG与Maven在一个项目中 - java

要一起运行它们,几乎没有可用的选项,但是我选择为Junit和TestNG使用不同的配置文件。但是现在的问题是排除和包含测试用例。由于如果我们在Maven的主项目中添加testNG依赖项,它将跳过所有Junit,因此我决定将其放在单独的配置文件中。所以我使用pom.xml中的以下条目从默认(主要)配置文件中排除了TestNG测试:<plugin> …

声纳测试用例失败 - java

我正在尝试为我的项目之一获得声纳报告。我已经运行mvn clean installRunning blah.blah.BlahTest1 Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.016 sec Running blah.blah.BlahTest2 Tests run…