对于一个项目,我们正在尝试建立一个类似论坛的基础网站;但是,我们试图在多个页面上发布而不是一个页面,并且不能在允许将帖子添加到该页面的部分上添加另一个扩展:
{% extends 'blog/base.html' %}
{% block content %}
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
{% if user.is_authenticated %}
<a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
{% endblock %}
有没有办法让网站使用其他方法在多个页面上显示这些帖子?
答案 0 :(得分:0)
我猜你问的是“include”关键字?和“带”模板标签?
<强> post_template.html 强>
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
{% if user.is_authenticated %}
<a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>
<强> some_page.html 强>
{% extends "base.html" %}
{% with some_post as post %}{% include "post_template.html"%} {% endwith %}
<强> other_page.html 强>
{% extends "base.html" %}
{% with some_other_post as post %}{% include "post_template.html"%} {% endwith %}
答案 1 :(得分:0)
假设您传递的是名为posts
的词典列表,您希望帖子显示在哪里:
{% for post in posts %}
{% include 'templates/post.html' %}
{% endfor %}
在templates/post.html
:
<div class="post">
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
{% if user.is_authenticated %}
<a class="btn btn-default" href="{% url 'post_edit' pk=post.pk %}"><span class="glyphicon glyphicon-pencil"></span></a>
{% endif %}
<h1>{{ post.title }}</h1>
<p>{{ post.text|linebreaksbr }}</p>
</div>