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

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

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

Ответы [ 2 ]

0 голосов
/ 20 июня 2019
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)

0 голосов
/ 30 мая 2019

В идеале этого не должно быть.

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...