Gebruik aub een RequestContext class! Anders kan je bijvoorbeeld nooit iets doen als request.user.is_anonymous of whatever, de request variabele wordt dan namelijk niet meegegeven aan de template.

Daarnaast: kan je niet een template maken die rows rendert ? Binnen templates kun je namelijk ook dynamisch templates includen met variabelen.

Als je dus een standaard aanhoudt voor de template name kan je vermoedelijk heel simpel dit naar templates verplaatsen.

Bijvoorbeeld 
```
def get_context_data(self, **kwargs):
    # Ergens moet je wel columns van template names voorzien of dit dynamisch is of hardcoded per view moet je maar zien.
    kwargs = super(x, self).get_context_data(**kwargs)
    kwargs.update({
        'list_columns': self.columns  # of zelfs self.columns.keys()
    })
    return kwargs
```

Hardcoded voorbeeld:

```
columns = SortedDict([
    # Column name
    ('name', {
        # DataTables stuff/parameters
        'mData': 'name',
        'bSortable': False,
        'template_name': contacts/contact_list/name.html
    }),
])
```

Dynamisch(er) met een standaard template naam als:
```
%(app_name)s/%(list_template_name_without_.html_ofzo)s/%(column)s.html  # e.g. list_template_name=contact_list
# of
%(app_name)s/%(model)s_list/%(column)s.html
```

Het idee van datatables_list.html:
```
{% for object in object_list %}
    {% include datatabels_row.html object=object %}
{% endfor %}
```

Het idee van datatables_row.html:
```
{% for column in list_columns %}
    {% include list.template_name %}
{% endfor %}
```

Pin me niet vast op de exacte syntax.