Переведите дату в исходном коде Python в Django - PullRequest
0 голосов
/ 05 июня 2019

Как мне перевести дату в моем views.py?Если я попытаюсь перевести его с gettext, он выдаст мне эту ошибку: an integer is required (got type str).Для перевода даты я имею в виду, например, с английской версии (30 мая 2019 года) на итальянскую (30 Maggio 2019 года).Я должен вернуть дату в ответе JSON.Это мой код:

from django.utils.translation import gettext as _
...
@AutoLanguage #It's a middleware that enables i18n
date = datetime.date.today()
date_translated = _(date)
return JsonResponse({'date': date_translated})

1 Ответ

0 голосов
/ 05 июня 2019

на ваш взгляд:

import locale

def view_name(request):

   QUERY_RESULT = MODEL_NAME.objects.get(pk=event_id) #ANY QUERY

    try:
        locale.setlocale(locale.LC_TIME, 'fr_FR.utf8') #your language encoding
    except:
        locale.setlocale(locale.LC_TIME, 'fr_FR')

    translated_date = QUERY_RESULT.DATE.strftime("%A %d %B %Y") #<= format you want

Вы найдете форматы strftime в документ datetime

для меня это дает translated_date = "mardi 11 juin 2019"

...