Bienvenue sur IndexError.

Ici vous pouvez poser des questions sur Python et le Framework Django.

Mais aussi sur les technos front comme React, Angular, Typescript et Javascript en général.

Consultez la FAQ pour améliorer vos chances d'avoir des réponses à vos questions.

Impossible d'afficher la date en français

0 votes

Yo,

Je suis actuellement en train de migrer un appicatif un peu vieux en django 1.2.5 sur une nouvelle Debian 9. Tout fonctionne mise à part les dates qui restent affichées en anglais sous la forme "Mon. 9 May" au lieu d'être en français.

Dans le fichier "settings.py" :

DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_CHARSET='utf-8'

LOGIN_URL = '/accounts/login/'
LOGIN_REDIRECT_URL = '/'

TIME_ZONE = 'Europe/Paris'
LANGUAGE_CODE = 'fr'
SITE_ID = 1

USE_I18N = True
USE_L10N = True

J'ai installé et configuré les locales sur la Debian :

$ env|grep fr
LC_ALL=fr_FR
LANG=fr_FR.UTF-8
LC_CTYPE=fr_FR
LANGUAGE=fr_FR

Malgré cela les messages d'erreurs et les dates sont toujours affichées en Anglais. Auriez vous une idée de l'origine du problème ?
Merci

demandé 17-Jul par Stiquemou (202 points)
edité 17-Jul par Stiquemou

J'ai réussi à corriger le problème, mais je ne sais pas pourquoi il est survenu.

Le site était sur du python 2.6 à l'origine, j'ai recrée le virtualenv en python 2.7 et fait un 'pip install -r requirements.txt' qui comprend Django 1.2.5. Après comparaison entre l'ancien virtualenv et le nouveau le dossier 'LC_MESSAGE' n'existait pas dans le nouveau venv. J'ai copié le répertoire de l'ancien venv vers le nouveau et tout est de nouveau fonctionnel. J'avais eu le même soucis avec le répertoire 'templates' de l'admin django. Si quelqu'un a une idée du pourquoi, je suis preneur.

tu as la droit de te repondre à toi meme et valider ta reponse. Ainsi chacun sait que la question est resolue.

1 Réponse

0 votes

tu peux essayer

DATE_INPUT_FORMATS = [
    '%d-%m-%Y', '%d/%m/%Y', '%d/%m/%y',  # '2006-10-25', '10/25/2006', '10/25/06'
    '%d %b %Y', '%d %b, %Y',  # '25 Oct 2006', '25 Oct, 2006'
    '%d %B %Y', '%d %B, %Y',  # '25 October 2006', '25 October, 2006'
]

dans le fichier settings

regarde DATE_INPUT_FORMATS sur le site de django

répondu 11-Aou par bidochon (154 points)
edité 13-Aou par foxmask
...