Python Django模型表单字段语言未更改
我正在使用django 2.2。和python 3.6。引导程序4。 我有一个模板和酥脆的形式插入模板。 此表单是根据模型创建的。 模型中有一个imagefield字段Python Django模型表单字段语言未更改,python,django,django-forms,django-templates,django-crispy-forms,Python,Django,Django Forms,Django Templates,Django Crispy Forms,我正在使用django 2.2。和python 3.6。引导程序4。 我有一个模板和酥脆的形式插入模板。 此表单是根据模型创建的。 模型中有一个imagefield字段 photo = models.ImageField(upload_to="staff/", null=True, blank=True, verbose_name=_("Fotoğraf")) crispyform正在模板中创建字段,但字段中显示的语言为英语。但我想展示土耳其语。 “选择文件并浏览”选项应为土耳其语。 因此,我
photo = models.ImageField(upload_to="staff/", null=True, blank=True, verbose_name=_("Fotoğraf"))
crispyform正在模板中创建字段,但字段中显示的语言为英语。但我想展示土耳其语。
“选择文件并浏览”选项应为土耳其语。
因此,我将settings.py更改为
LANGUAGE_CODE = 'tr-tur'
但它仍然被写入选择文件并在页面的字段中浏览
您可以在屏幕截图中看到,除了“选择文件”和“浏览”之外,所有内容都是土耳其语。“选择文件”和“浏览”不会被翻译,因为这是引导生成字段的一部分
您可以尝试创建伪类,如翻译或自定义字符串部分所述。简而言之,作为CSS代码,它应该是这样的:
$custom-file-text: (
en: "Browse",
es: "Elegir"
);
问题解决了。首先要更改“选择文件”部分: 添加将更改标签textContent的脚本
<script>
var input = document.getElementById('id_photo');
var label = input.labels[1];
label.textContent = 'Dosya Seçin'
</script>
var input=document.getElementById('id_photo');
var label=input.labels[1];
label.textContent='Dosya Seçin'
其次,要更改浏览部分,您必须编辑bootstrap.min.css,并将自定义文件标签更改为内容:“浏览”到内容:“您想要什么”可能有多个内容:“浏览”定义,全部更改。尝试更改Django内置表单中的默认语言,通过将
django.middleware.locale.localemidleware'
包含在中间件
中的设置.py中