diff --git a/jingo/helpers.py b/jingo/helpers.py index fa65206..a2d8eb7 100644 --- a/jingo/helpers.py +++ b/jingo/helpers.py @@ -33,9 +33,11 @@ def nl2br(string): @register.filter -def datetime(t, format=_('%B %e, %Y')): +def datetime(t, fmt=None): """Call ``datetime.strftime`` with the given format string.""" - return t.strftime(format) if t else '' + if fmt is None: + fmt = _('%B %e, %Y') + return t.strftime(fmt.encode('utf-8')) if t else '' @register.filter diff --git a/jingo/tests/test_helpers.py b/jingo/tests/test_helpers.py index 6faf998..90b2077 100644 --- a/jingo/tests/test_helpers.py +++ b/jingo/tests/test_helpers.py @@ -1,9 +1,11 @@ +# -*- coding: utf-8 -*- """Tests for the jingo's builtin helpers.""" from datetime import datetime from nose.tools import eq_ import jingo +from jingo import helpers def render(s, context={}): @@ -38,6 +40,11 @@ def test_datetime(): eq_(s, '') +def test_datetime_unicode(): + fmt = u"%Y 年 %m 月 %e 日" + helpers.datetime(datetime.now(), fmt) + + def test_ifeq(): eq_context = {'a': 1, 'b': 1} neq_context = {'a': 1, 'b': 2}