Fazendo Django forms.DateField show usa formato de data local

Eu estou tentando encontrar uma maneira fácil de construir formulários que mostram datas no formato australiano (dd / mm / aaaa). Esta foi a única maneira que eu poderia encontrar para fazê-lo. Parece que deveria haver uma solução melhor.

Coisas para observar:

Criado um novo widget que renderiza o valor de data no formato dd / mm / aaaaCriado um novo campo de data para preceder a string de formato de data de localização à lista de valores que ele tenta usar

Eu imagino que a solução ideal seria um campo de data que localizasse automaticamente, mas isso não funcionou para mim (o strftime não parecia ser amigável com unicode, mas eu não tentei muito)

Estou esquecendo de algo? Existe uma solução mais elegante? Esta é uma abordagem robusta?

from models import *
from django import forms
import datetime

class MyDateWidget(forms.TextInput):

    def render(self, name, value, attrs=None):

            if isinstance(value, datetime.date):
                    value=value.strftime("%d/%m/%Y")

            return super(MyDateWidget, self).render(name, value, attrs)


class MyDateField(forms.DateField):

    widget = MyDateWidget

    def __init__(self, *args, **kwargs):
            super(MyDateField, self).__init__(*args, **kwargs)
            self.input_formats = ("%d/%m/%Y",)+(self.input_formats)


class ExampleForm(ModelForm):
    class Meta: 
            model=MyModel
            fields=('name', 'date_of_birth')

    date_of_birth = MyDateField()

questionAnswers(4)

yourAnswerToTheQuestion