0

DJANGO-POLYMORPHIC モデルに基づいて HTML を動的に生成できますか? テーブルからすべての行を読み取り、クラス タイプに基づいて div を生成したいと考えています。それとも、これは悪い習慣ですか?

{% if content %}
{% for c in content %}
<ul>
    {%  if c.instance_of(Text) %}
        <li>TEXT</li>
    {% endif %}
    {%  if c.instance_of(Image) %}
        <li>IMAGE</li>
    {% endif %}
</ul>
{% endfor %}
{% else %}
<p>No content available.</p>
{% endif %}
4

1 に答える 1

1

そのようにコーディングするのは気が進まないでしょう。

まず、コンテキストで andTextを渡す必要がありますが、パラメータを使用してテンプレートで関数を呼び出すことはできません。Image

テンプレートタグまたはフィルターを作成するか、より良いのは、「もの」のタイプを返すプロパティをクラスに追加することです。これを直接<li></li>

class Foo(PolymorphicModel):
    def description(self):
        return self.__class__.__name__

と...

<ul>
{% for c in content %}
        <li>c.description</li>
{% endfor %}
</ul>
于 2016-06-07T21:46:43.430 に答える