在 Django 中设置 PasswordResetForm 的语言?

Set language of PasswordResetForm in Django?

我正在手动重置密码,但想知道如何将语言设置为用户的语言而不是我自己的语言。我看到有很多额外的上下文字段,但需要设置哪一个?

for user in qs:
    reset_form = PasswordResetForm({'email': user.email})
    # reset_form.language?
    assert reset_form.is_valid()
    reset_form.save(request=request)

我添加了一个字段 CustomUser.language,它在上面的 user.language 中可用。

(在表达我的问题并寻找可能性时,我找到了可行的解决方案。)

我通过将当前语言(会话方式)临时设置为用户的语言,得出以下解决方案:

from django.utils import translation

temp_language = translation.get_language_from_request(request)
for user in qs:
    translation.activate(user.language)
    request.LANGUAGE_CODE = translation.get_language()
    reset_form = PasswordResetForm({'email': user.email})
    assert reset_form.is_valid()
    reset_form.save(request=request)
    # 
    translation.deactivate()
translation.activate(temp_language)
request.LANGUAGE_CODE = translation.get_language()