【发布时间】:2018-04-07 07:40:47
【问题描述】:
我正在开展一个 Django 项目,该项目将存在行为问题的狗与可以帮助主人克服这些问题的人联系起来。大部分项目已翻译,但有一些字符串未翻译。
以下是相关模型:
from django.utils.translation import ugettext_lazy as _
class Issue(models.Model):
PEOPLE = 'PE'
OWNERS = 'OW'
EXPERIENCED_PEOPLE = 'EX'
HELPER_CHOICES = ((PEOPLE, _('People')),
(OWNERS, _('Owners')),
(EXPERIENCED_PEOPLE, _('People with experience')))
who_can_help = models.CharField(_('Who can help?'),
blank=False,
choices=HELPER_CHOICES,
default=PEOPLE,
max_length=2,
null=False)
doggo = models.ForeignKey(Doggo, on_delete=models.CASCADE)
以及forms.py中的相关位
IssueFormSet = modelformset_factory(Issue, fields=['title', 'description', 'plan', 'who_can_help'])
最后是视图(我省略了处理 POST 请求的部分):
def doggo_create_view(request):
doggo_form = DoggoForm()
issue_formset = IssueFormSet(queryset=Issue.objects.none())
return render(request, 'doggos/doggo_form.html', {'form': doggo_form, 'formset': issue_formset})
应该说“Mensen”而不是“People”(就像在 .po 文件中一样,我没有忘记编译该文件)。有什么想法吗?
【问题讨论】:
-
你使用的是什么版本的 Django?
-
你确定你已经激活了语言。您可以检查请求标头中的语言,看看它是否应该是正确的。
-
@solarissmoke 我在 Django 1.10.8 上。
-
@MuhammadShoaib 一些字符串被正确翻译,所以这应该不是问题。
标签: python django internationalization