Exemple #1
0
"""Jinja2-ports of many of Django's default filters.

TODO: Most of the filters in here need to be updated for autoescaping.

TAKED FROM COFFIN: https://github.com/cdleary/coffin
(and adapted for djinja library)
"""

from djinja.template.base import Library
from jinja2.runtime import Undefined
from django.utils.safestring import mark_safe
from django.utils.encoding import force_unicode
from django.conf import settings
register = Library()


@register.filter
def url(view_name, *args, **kwargs):
    url = ''
    from django.core.urlresolvers import reverse, NoReverseMatch
    try:
        url = reverse(view_name, args=args, kwargs=kwargs)
    except NoReverseMatch:
        projectname = settings.SETTINGS_MODULE.split('.')[0]
        try:
            url = reverse(projectname + '.' + view_name,
                          args=args,
                          kwargs=kwargs)
        except NoReverseMatch:
            raise