0

カスタム CMS プラグインに入れたテンプレートにプレースホルダーをレンダリングしようとしています。問題は、「render_placeholder」タグが無効なブロック タグであることを示していることです。

これが「render_placeholder」タグ付きのテンプレートです。

{% extends 'base.html' %}

{% block base_content %}

<h2>Posts</h2>
{% if posts %}
    {% for post in posts %}
    <div class="entry-list">
        {{ post.posted|date:"M d" }}
        <h3><a href="{{ post.get_absolute_url }}">{{ post.title }}</a></h3>
            {% render_placeholder post.body %}
        <a href="{{ post.get_absolute_url }}">Read More</a>
        </div>
    {% endfor %}
{% else %}
    <p>There are no posts.</p>
{% endif %}

{% endblock %}

「{% load placeholder_tags %}」を示すベース テンプレートを次に示します。

{% load placeholder_tags cms_tags sekizai_tags static menu_tags %}
<html>
<head>
    {% render_block "css" %}
    <link href="{{ STATIC_URL }}css/styles.css" rel="stylesheet">
</head>
<body>
  {% show_menu 0 100 100 100 %}
  {% cms_toolbar %}
  {% placeholder base_content %}
  {% block base_content %}{% endblock %}
  {% render_block "js" %}
</body>
</html>

「無効なブロック タグ: 'render_placeholder'、'empty' または 'endfor' が必要です」と表示され続けます。

私は愚かな何かを逃していますか?

前もって感謝します。

4

1 に答える 1

2
{% load placeholder_tags %}

プレースホルダーを呼び出すテンプレートにそれを入れてください。

そのタグのソースにアクセスできることを確認するために、プロジェクトのフォルダー構造も確認する必要があります。次の名前のフォルダーを持つアプリにある必要があります。

<app_name>/templatetags
<app_name>/models.py
于 2013-10-02T03:53:18.917 に答える