データストアからアイテムのリストを取得するコードがあります。
彼らは次のように見えます:
class List(db.Model):
name = db.StringProperty(multiline=True)
class Item(db.Model):
name = db.StringProperty(multiline=True)
created = db.DateTimeProperty(auto_now_add=True)
completed = db.DateTimeProperty(auto_now_add=False)
Django テンプレートでは、表示するリスト要素が少なくとも 1 つある場合にのみ、テーブル ヘッダーを条件付きで表示したいと考えています。この難しさにビックリです。
例えば:
{% for list in lists %}
<font size="+2"><b>{{ list.name }}</b></font><br>
<table><tr><th> </th><th>item</th><th>created</th><th>completed</th></tr>
{% for item in list.items %}
{% ifnotequal item.completed None %}
<tr><td> </td><td>{{ item.name }} </td><td>{{ item.created }} </td><td>{{ item.completed }} </td></tr>
{% endifnotequal %}
{% endfor %}
</table>
{%endfor%}
条件に一致するアイテムがリストにない場合、次のような醜い空のテーブルが表示されます。
**todo**
item completed delete
私は次のようなことをしたいと思います.Djangoで変数を次のように設定します
{% set first = 1 %}
そして、テーブルに少なくとも1つのアイテムを出力しようとしているときに、次のようにします
{% for item in list.items %}
{% ifnotequal item.completed None %}
{% if first %}
<table><tr><th> </th><th>item</th><th>created</th><th>completed</th></tr>
{% set first = 0 %}
{% endif %}
.... do the rest of the stuff
{% endifnotequal %}
そこで、ここで説明されているように、appengine 内で適切に機能する Django 用のカスタム タグを作成するといううさぎの穴に落ちました。
非常に多くのエラーに遭遇し、これらのページのアドバイスを試してみました:
これではどこにも行きません。Python 2.7 を使用しています。これはそれほど難しくないはずです。