Pergunta

Meu dateformat localidade é dd / mm / aaaa e Django é requering AAAA-MM-DD

quando as entradas do usuário 04/11/2009 Django levanta:

_('Enter a valid date in YYYY-MM-DD format.')) 

Im usando simples tipo de campo de entrada html = "text", não forms.DateField

Obrigado:)

Foi útil?

Solução

Eu estou supondo que você está usando um forms.DateField. Se assim for, você precisa fornecer um argumento input_formats assim:

class MyForm(forms.Form):
    start_date = forms.DateField(input_formats=['%d/%m/%Y'])

input_formats só tem uma lista dos formatos que você deseja aceitar.

http://docs.djangoproject.com/en/ dev / ref / formas / campos / # datefield para obter mais informações.

Outras dicas

Com base no post e comentários do OP, parece que há mais aqui do que apenas usando input_formats para o campo de data, mas você vai querer fazer isso. A mensagem 'Insira uma data válida no formato AAAA-MM-DD' é uma exceção e não um erro de validação de formulário. Você vai ter essa exceção se você tentar salvar uma instância de modelo usando uma seqüência de data que não é 'AAAA-MM-DD'.

O que é necessário é usar um DateField no formulário, e em seguida, instanciar o modelo usando os dados limpos, que é um objeto de data e hora. Parece que o OP foi instanciar o modelo com uma corda em vez de um objeto de data e hora.

Esta seção do Django docs discute preparação de dados datefield: https: // docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#what-happens-when-you-save

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top