когда мы применяем language='ar' kwargs к API send_db_sms(), это изменит язык всего веб-приложения.
from dbmail import send_db_sms
send_db_sms(
# slug which defined on db template
slug='welcome',
# recipient can be list, or str separated with comma or simple
# string
recipient='+79031234567',
# All *args params will be accessible on template context
{
'username': request.user.username,
'full_name': request.user.get_full_name(),
'signup_date': request.user.date_joined
},
# Optional kwargs:
language='ar',
)
передавая language='ar',kwargs функции send_db_sms(), она не должна менять язык всего веб-приложения.
Пожалуйста помоги,
В идеале этого не должно происходить.
Возможно, вы также определили языковую переменную вне функции, и она переопределяет все переменные. Пожалуйста, убедитесь, что вы не использовали его где-либо еще.
Кроме того, у вас может быть язык по умолчанию для вашего приложения вне этой функции, поэтому вне этой функции ваше приложение будет учитывать этот язык по умолчанию.
Надеюсь это поможет.
Я не определял никакую языковую переменную вне функции. язык по умолчанию уже установлен в settings.py
send_db_sms(
sms_template,
mobile_number,
{},
language='DE'
)
translation.activate(self.request.LANGUAGE_CODE)
есть какая-то ошибка в
django-dbmailer
библиотека, поэтому после использования send_db_sms с параметром языка следует использовать приведенный ниже код, чтобы продолжить на том же языке, иначе он изменит язык всего сайта.
translation.activate(self.request.LANGUAGE_CODE)
language='ar', используется для отправки сообщения в формате указанного языка.