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 = '问卷(复数形式)'