Как исправить языковой аргумент SMS API django-db-mailer, изменяющий язык приложения

когда мы применяем 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(), она не должна менять язык всего веб-приложения.

Пожалуйста помоги,

language='ar', используется для отправки сообщения в формате указанного языка.

Ankit 30.05.2019 07:39
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
1
30
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

В идеале этого не должно происходить.

Возможно, вы также определили языковую переменную вне функции, и она переопределяет все переменные. Пожалуйста, убедитесь, что вы не использовали его где-либо еще.

Кроме того, у вас может быть язык по умолчанию для вашего приложения вне этой функции, поэтому вне этой функции ваше приложение будет учитывать этот язык по умолчанию.

Надеюсь это поможет.

Я не определял никакую языковую переменную вне функции. язык по умолчанию уже установлен в settings.py

Ankit 30.05.2019 11:03
Ответ принят как подходящий
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)

Другие вопросы по теме