如何修复更改应用程序语言的django-db-mailer SMS API语言参数

时间:2019-05-30 05:37:42

标签: python django

当我们在send_db_sms()API上使用language ='ar'kwargs时,它将更改整个Web应用程序的语言。

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()函数,它不应更改整个Web应用程序的语言。

请帮助

2 个答案:

答案 0 :(得分:0)

理想情况下,它不应该发生。

您可能也在函数外定义了语言变量,并且该语言变量将覆盖所有变量。请确认您没有在其他任何地方使用它。

除此之外,您可以在此功能之外为应用程序提供默认语言,因此,在此功能之外,您的应用程序将考虑该默认语言。

希望这会有所帮助。

答案 1 :(得分:0)

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)