Django后台汉化方法详解

1.

设置项目为中文

打开项目配置文件 settings.py 修改为下面的样子

# 较早版本的 Django 可以尝试改为'zh-CN',具体可查看
# “python/site-packages/django/conf/locale/”中的语言名称
LANGUAGE_CODE = 'zh-Hans'

# Windows环境中此项的时区必须和系统一致,设置为 Asia/Shanghai。
# 另外此项设置如果保持 UTC 有可能导致 Django 时间和本地时间不同的情况。
TIME_ZONE = 'Asia/Shanghai'

# 这里必须是 True,否则 LANGUAGE_CODE 会失效
USE_I18N = True

保存后我们刷新后台就可以多看,几乎所有由 Django 创建的内容都已经汉化为了中文

2

汉化应用app

接下来我们首先给应用设置中文名字。

我们打开应用下的 apps.py 文件设置应用的名称

# polls/apps.py

class PollsConfig(AppConfig):
    name = 'polls'
    # 在已有的 PollsConfig 类中增加app的名字
    verbose_name = '投票系统'

设置模型 models 的中文名

剩下的模型的名字了,当然还包括模型中不同字段的名字,不然不清楚要填写什么就更要命了。
我们看一下 Question 的的模型

class Question(models.Model):
    # django 的大多数字段都接受一个可选的位置参数
    # (在第一的位置) — 字段的自述名,我们利用它来使我们的项目汉化
    question_text = models.CharField("问题", max_length=200)
    pub_date = models.DateTimeField('发布时间')

    def __str__(self):
        return self.question_text

    def was_published_recently(self):
        now = timezone.now()
        return now - datetime.timedelta(days=1) <= self.pub_date <= now
    was_published_recently.admin_order_field = 'pub_date'
    was_published_recently.boolean = True
    # 我们可以在模型、admin中通过 short_description 设置自定义名称
    was_published_recently.short_description = '是否最近发布?'

    class Meta:
        # 设置模型的名字,但是记得复数形式也要设置,否则有些地方就变成 verbose_name + s 了
        verbose_name = '问卷'
        verbose_name_plural = '问卷(复数形式)'
上一篇:Android图表库MPAndroidChart(十四)——在ListView种使用相同的图表


下一篇:android 图表