0

リストには 2 種類の要素があり、要素が要素 A であるか要素 B であるかを考えてみましょう。このリストをバックエンドからテンプレートに渡します。テンプレートでは、要素ごとにループし、タイプ A であるかどうかを確認し、タイプ B であるかどうかを確認します。この型チェックを行うにはどうすればよいですか??

ここで明確にするために、非常に簡単な例を示します

Models.py
class Type_A(models.Model):
test1 = models.CharField()

class Type_B(models.Model):
test2 = models.CharField()


Views.py 
c = {}
l = list()
l = [Type_A.objects.all(), Type_B.objects.all()]
c['list'] = shuffle(l)
return render_to_response('test.html', c , context_instance=RequestContext(request) )

test.html 私はこのようなものを探しています

{% for x in list %}
    {% if x is Type_A %} 
       do this
    {% else %}
       do that
    {% endif %}
{% endfor %}
4

2 に答える 2

0

それがテンプレート フィルターの役割です。

https://stackoverflow.com/a/12028864/1566605

https://docs.djangoproject.com/en/1.4/howto/custom-template-tags/#writing-custom-template-filters

于 2013-09-01T07:53:48.313 に答える