我在html页面中有以下代码,并尝试使用jinja逻辑在特定地方嵌入html(在博客/关于我的html部分)
无法运作的代码(详见下文详情)
<!-- About Section (Blog)-->
<section class="bg-primary text-white mb-0" id="about">
<div class="container">
<h2 class="text-center text-uppercase text-white">Blog</h2>
<hr class="star-light mb-5">
<div class="row">
<div class="col-lg-4 ml-auto">
<p class="lead">This is the blog section</p>
{%block content%}
{%endblock %}
</div>
<div class="col-lg-4 mr-auto">
<p class="lead">The blogs outlined in the models section and stored in the database, are going to be displayed here.</p>
</div>
这两行通常会产生一个htmlsnippet输出:
{%block content%}
{%endblock %}
在网站的另一个地方(位于底部)我使用了相同的逻辑,并且片段输出显示正常。
运行正常的代码
<!-- Custom scripts for this template -->
<script src="/static/js/freelancer.min.js"></script>
<div>
{%block content%}
{%endblock %}
</div>
</body>
</html>
我得到的错误是:
'block' tag with name 'content' appears more than once
141 <div class="col-lg-4 ml-auto">
142 <p class="lead">This is the blog section</p>
143 {%block content%}
144 {%endblock %}
145 </div>
146 <div class="col-lg-4 mr-auto">
147 <p class="lead">The blogs outlined in the models section and stored in the database, are going to be displayed here.</p>
148
149 </div>
150 <div>
151 {%block content%}
152 {%endblock %}
153 </div>
当然,我注意到错误表示:&#39;阻止&#39;标记名称&#39;内容&#39;出现不止一次......但我的问题是
例如,我在同一个django项目中的其他应用程序中有其他html代码段(例如在blog / templates / blog / post.html中)...这也扩展了主页,但是我如何将其包含在主页?我不太了解结构以及如何引用不同目录中的内容。即使它们必须位于同一目录中,如果只能包含一个html片段,它如何检查它引用的文件夹?
结构:
C:\ Users \ User \ Desktop \ Django Tutorials \ understanding_html_setup \ pythonsite \ mysite \ aboutme \ templates 这是header.html和home.html实时的标题(标题是现在主要引导索引页面的位置) 这里还有另一个名为&#39; includes&#39;其中包含所有html片段,例如&#39; mysnippet.html&#39;。
重要提示: **这就是这个&#39; aboutme.html&#39;这是在上面的jinja逻辑中引用的。** C:\ Users \ User \ Desktop \ Django Tutorials \ understanding_html_setup \ pythonsite \ mysite \ aboutme \ templates \ aboutme \ includes \ mysnippet.html
其他应用,例如博客:
C:\ Users \ User \ Desktop \ Django Tutorials \ understanding_html_setup \ pythonsite \ mysite \ blog \ templates \ blog 是我的地方 blog.html和post.html
如何在上面显示的代码段(主页)中包含post.html或blog.html的内容
最后说明:
home.html页面包含此代码,我注意到该代码包含了aboutme代码段。但问题仍然存在,我如何包含其他片段,以及了解这种结构以及如何将它们结合在一起的最佳方法。也欢迎使用教程或链接参考。
home.html (在:C:\ Users \ User \ Desktop \ Django Tutorials \ understanding_html_setup \ pythonsite \ mysite \ aboutme \ templates \ aboutme \ home.html)
{%extends "aboutme/header.html" %}
{%block content%}
<p>Welcome to this "about" page that is all about the website: </p>
{%include "aboutme/includes/mysnippet.html"%}
{% endblock %}
我认为对于最佳和最简单的设置的任何指导对于SO Django初学者都是非常宝贵的。是否有流程或图表清楚地显示应该如何从html和显示的角度排列事物?
更新:
根据以下答案,我更改了内容&#39;命名为其他东西,它确实允许包含其他代码段。谢谢!
我仍然不知道a)组织html页面和包含片段的最佳方式,以及如何包含从数据库中绘制的页面:帖子:
我试过这个 - 试图包含post.html但它不起作用 - 它只是弄乱格式化并在引导页面的其他地方重复博客部分。
{%extends "aboutme/header.html" %}
{%block content%}
<p>Welcome to this "about" page that is all about the website:</p>
{%include "aboutme/includes/mysnippet.html"%}
{% endblock %}
{%block moose%}
<p>This is test text that says moose</p>
{%include "blog/post.html"%}
{% endblock %}
&#39;驼鹿&#39;文本确实显示,但不显示博客/帖子。
post.html(在博客应用中)是:{% extends "aboutme/header.html" %}
{%block content %}
<h3>{{post.title}}</h3>
<h6>on{{post.date}}</h6>
{{post.body|safe|linebreaks}}
{% endblock %}