Принятый ответ может генерировать неправильную дату в зависимости от локали.
В консоли FF:
>>> n = new Date('2011-01-01');
Date {Fri Dec 31 2010 16:00:00 GMT-0800 (PST)}
Поэтому предпочтительно передавать целые числа Y, m, d в конструктор Date.
Я использую шаблонный фильтр для генерации конструктора даты:
@register.filter(name='jsdate')
def jsdate(d):
"""formats a python date into a js Date() constructor.
"""
try:
return "new Date({0},{1},{2})".format(d.year, d.month - 1, d.day)
except AttributeError:
return 'undefined'