当前位置: 首页 > 知识库问答 >
问题:

尝试翻译我的类的字段(Django国际化Cap)

时浩波
2023-03-14
from django.utils.translation import ugettext as _
class Product(TimeStampModel):

    name = models.CharField(max_length=200, unique=True)
    slug = models.SlugField(editable=False)
    # Product Images
    pimage0 = models.ImageField(upload_to = 'prodimg')
    pimage1 = models.ImageField(upload_to = 'prodimg')
    pimage2 = models.ImageField(upload_to = 'prodimg')
    pimage3 = models.ImageField(upload_to = 'prodimg')
    # END Product Images
    size = models.CharField(max_length=50)
    content = models.TextField()
    content1 = models.TextField(blank=True, null=True)
    content2 = models.TextField(blank=True, null=True)
    # Product Stats
    tolerance = models.CharField(max_length=3)
    efficiency = models.CharField(max_length=3)
    performance = models.CharField(max_length=3)
    lowrad = models.CharField(max_length=3)
    # END Product Stats
    # Other Features
    protection = models.TextField(null=True)
    protection1 = models.TextField(blank=True, null=True)
    environments = models.TextField()
    environments1 = models.TextField(blank=True, null=True)
    # END Other Features
    # Key Features
    kfeature0 = models.ImageField(upload_to = 'kfeats')
    kfeature1 = models.ImageField(upload_to = 'kfeats')
    # END Key Features
    category = models.ForeignKey(Category)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug = slugify(self.name)
        super(Product, self).save(*args, **kwargs)

    def __str__(self):
        return self.name
class SingleProView(DetailView):

    template_name = 'products/single_product.html'
    model = Product

如果我忽略了什么,请提前道歉。任何贡献都是惠康的,谢谢评价!

共有1个答案

贺君浩
2023-03-14

Django不支持模型转换。

这些软件包实现了该功能:

  • 姜戈-赫瓦德
  • Django-ModelTranslation
 类似资料:
  • 我正在用Django做一个中文博客。我用中文写所有我能控制的东西,如文章文本,博客标题,博客导航,评论和联系人表单的标签标签。我唯一不能控制的是表单提交错误,如“此字段是必需的。”,“输入有效的电子邮件地址。”。因为我使用django评论框架和表单库来制作我的评论表单和联系人表单,我不知道如何将英文版替换成中文版。 为什么django翻译一些错误消息而忽略其他错误消息? 如果django不能自动翻

  • 问题内容: 我有几个需要国际化的枚举(我需要将枚举值转换为某些语言才能在jsf页面中显示)。考试列举: 翻译将是例如/ 转换应存储在MessageBundle(属性文件)中。我正在寻找一个简单,通用的解决方案(最好是无需在所有枚举中编写额外的代码),而该解决方案在jsf方面并不需要太多。仅提及它,当然,两个不同的枚举可能具有相同的枚举值(例如,类似的值在不同的枚举中具有不同的含义)。 我想出的解决

  • 概述 为了让Django项目可翻译,你必须添加一些钩子到你的Python 代码和模板中。这些钩子叫做翻译字符串。它们告诉Django:“如果这个文本的翻译可用,应该将它翻译成终端用户的语言。”你需要标记这些可翻译的字符串;系统只会翻译它知道的字符串。 Django 提供一些工具用于提取翻译字符串到消息文件中。这个文件方便翻译人员提供翻译字符串的目标语言。翻译人员填充完消息文件后,必须编译它。这个过