我的表单需要来自 request 变量的数据,request.LANGUAGE_CODE
但 forms.py 文件没有任何获取 request 变量的方法。
我使用“set_language 重定向视图”来设置语言,它工作正常,但我需要为表单随机生成一个选择下拉列表,我根本无法让 django 给我使用的语言代码。
下面translation.get_language()
的代码片段中使用的仅返回“en-us”,但适用于每种语言。
class C21Form(ModelForm):
principal_procedure_code= forms.ModelChoiceField(label=_('BlaBla'), queryset=diagCode.objects.filter(language=translation.get_language()))
更新:
forms.py
class C21Form(ModelForm):
principal_procedure_code= forms.ModelChoiceField(label=_('BlaBla'), queryset=diagCode.objects.filter(language=language_code))
def __init__(self, language_code=None, *args, **kwargs):
self.language_code = language_code
super(C21Form, self).__init__(*args, **kwargs)
views.py
form = C21Form(request.LANGUAGE_CODE, request.POST)