Django template object type

妖精的绣舞 提交于 2019-12-03 05:51:11

This is an old question, but FWIW you can do this with a template filter.

@register.filter
def classname(obj):
    return obj.__class__.__name__

Then in your template you can do:

{% with beer|classname as modelclass %}
{% if modelclass == "Domestic" %}US of A
{% elif modelclass == "Import" %}Somewhere else
{% endif %}
{% endwith %}

You'll have to do it via some sort of method. Why not just write a method like display_location() or something on the model itself and have it return the string which gets rendered there? Then you could just put {{ beer.display_location }} in your template.

Or if you want to go really crazy, write a custom template tag that does what you want, but that's much more work.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!