16π
A little dirty solution
If objects is a QuerySet that belong to a model, you can add a custom method to your model.
class mymodel(models.Model):
foo = models........
def get_cname(self):
class_name = ....
return class_name
then in your template you can try:
{% for obj in objects %}
<div class="{{obj.get_cname}}">
..
</div>
{% endfor }}
39π
You can also write a custom filter. My use case was to check whether or not an html element in a Django form was a checkbox. This code has been tested with Django 1.4.
I followed the instructions about Custom Filters. My filter code looks as such.
In myapp/templatetags/class_tag.py
:
from django import template
register = template.Library()
@register.filter(name='get_class')
def get_class(value):
return value.__class__.__name__
In your template file:
{% load class_tag %}
{% if Object|get_class == 'AClassName' %}
do something
{% endif %}
{{ Object|get_class }}
- [Django]-Detect mobile, tablet or Desktop on Django
- [Django]-Django {% if forloop.first %} question
- [Django]-Django β Website Home Page
2π
a bit simpler; assuming your layout is a list of a single model:
class ObjectListView(ListView):
model = Person
template_name = 'object_list.html'
def model_name(self):
return self.model._meta.verbose_name
Then in object_list.html
:
{% for obj in object_list %}
<div class="{{view.model_name}}">...</div>
{% endfor }}
- [Django]-Django related_name for field clashes
- [Django]-Disabled field is not passed through β workaround needed
- [Django]-Heroku, postgreSQL, django, comments, tastypie: No operator matches the given name and argument type(s). You might need to add explicit type casts
0π
Davidβs suggestion of a custom filter is great if you need this for several classes.
The Django docs neglect to mention that the dev server wonβt detect new templatetags automatically, however, so until I restarted it by hand I was stuck with a TemplateSyntaxError class_tag is not a registered tag library
.
.
- [Django]-Using django-admin on windows powershell
- [Django]-Access web server on VirtualBox/Vagrant machine from host browser?
- [Django]-Allowing RabbitMQ-Server Connections