Source code for django_tables2.columns.emailcolumn
# coding: utf-8
from __future__ import absolute_import, unicode_literals
from django.db import models
from .base import library
from .linkcolumn import BaseLinkColumn
@library.register
[docs]class EmailColumn(BaseLinkColumn):
"""
A subclass of `.BaseLinkColumn` that renders the cell value as a hyperlink.
It's common to have a email value in a row hyperlinked to other page.
:param attrs: a `dict` of HTML attributes that are added to
the rendered ``<a href="...">...</a>`` tag
Example:
.. code-block:: python
# models.py
class Person(models.Model):
name = models.CharField(max_length=200)
email = models.EmailField()
# tables.py
class PeopleTable(tables.Table):
name = tables.Column()
email = tables.EmailColumn()
"""
def render(self, value):
return self.render_link("mailto:%s" % value, text=value)
@classmethod
def from_field(cls, field):
if isinstance(field, models.EmailField):
return cls(verbose_name=field.verbose_name)