Login

ContentType template filter

Author:
asfaltboy
Posted:
December 31, 2013
Language:
Python
Version:
1.5
Tags:
template filter tag contenttypes contenttype GenericForeignKey
Score:
0 (after 0 ratings)

Custom template filter to retrieve a content type of a given model instance. Useful for ModelForms which want to set the content_type field (i.e: GenericForeignKey).

A usage example:

{% load helpers %}
{% with instance|content_type as ctype %}
    <input type="hidden" name="content_type" value="{{ ctype.pk }}">
{% endwith %}

Original idea from this stackoverflow answer

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# templatetags/helpers.py
from django import template
from django.contrib.contenttypes.models import ContentType

register = template.Library()

@register.filter
def content_type(obj):
    if not obj:
        return False
    return ContentType.objects.get_for_model(obj)

More like this

  1. URL models by diverman 5 years, 11 months ago
  2. improved generic foreign key manager by carljm 6 years, 11 months ago
  3. Generic Model by hakejam 8 years, 6 months ago
  4. ImportObject: Import model *instance* specific code at runtime by guettli 6 years ago
  5. Tags & filters for rendering search results by exogen 7 years, 5 months ago

Comments

Please login first before commenting.