首页 > 解决方案 > 在 django 中翻译模型的一个字段

问题描述

我有这个模型:

 class Notification(models.Model):
    user = models.ForeignKey(User, on_delete=models.CASCADE,null=True, blank=True)
    date = models.DateTimeField(auto_now_add=True)
    text = models.TextField(max_length=400,null=True, blank=True)
    read = models.BooleanField(default=False)

这个模型对象是在这样的视图中自动创建的

def payment_confirmation(request):
    if request.method == 'POST':
        form = paymentForm(request.POST)
        if form.is_valid():
                amount= float(form.cleaned_data['amount'])
                form.save()
                notify = Notification.objects.create(
                    user = request.user,
                    text = f"{amount} $ is added to your wallet",
                )
                trans = _('Recharge Completed successfully')
                messages.success(request,trans)
                return redirect('my_wallet')
        return HttpResponse("completed")

我能够翻译消息和静态页面,但我找不到翻译此通知文本字段的方法我查看了一些库,但它似乎只翻译字段的 verbose_name 而不是值

标签: djangodjango-modelsdjango-views

解决方案


尝试这个:

def payment_confirmation(request):
if request.method == 'POST':
    form = paymentForm(request.POST)
    if form.is_valid():
            amount= float(form.cleaned_data['amount'])
            form.save()
            notify = Notification.objects.create(
                user = request.user,
                text = _("{} $ is added to your wallet").format(amount),
            )
            trans = _('Recharge Completed successfully')
            messages.success(request,trans)
            return redirect('my_wallet')
    return HttpResponse("completed")

推荐阅读