django的settings中设置中文支持

这篇具有很好参考价值的文章主要介绍了django的settings中设置中文支持。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天创建了个django工程,用的是目前django 1.9.6,创建工程后,settings.py中设置中文显示支持(最简单的,例如把admin界面的默认英文改成中文),定义

1

2

TIME_ZONE = 'Asia/Shanghai'

LANGUAGE_CODE = 'zh-cn'

当然TIME_ZONE只是指定时区,和中文显示没有关系,这里一并修改了默认值。结果运行项目时报错了,如下:

1

django IOError: No translation files found for default language zh-cn

即找不到zh-cn对应的本地化文件。一般而言,zh-cn编码对应的本地化文件夹为zh_CN,我去django的安装目录查找zh_CN,结果确实没有找到,在django安装目录的contrib子目录下的一系列子目录的locale文件夹中,没有zh_CN,而有zh_Hans。不知道为什么django的这个版本没有zh_CN文件夹,可能是一个bug吧。网上有人说将zh_Hans目录全部复制一份并命名为zh_CN,就可以解决这个问题,我试了下,再次运行确实可行了,在admin界面显示了中文。至于这种比较山寨的方法有没有隐患,现在还不知道,以后遇到再说吧。

不过话说回来,其实还有正统的方式去生成国际化文件,如下命令:

1

django-admin.py makemessages -l zh_CN

不过这个需要gettext组件,如果你是在windows上开发,那么你需要自己安装这个组件,

在http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/下载gettext-runtime-X.zip以及gettext-tools-X.zip的最新版(注:X为版本号)并解压后,将两个bin目录可以合并后放入系统环境变量中。不过该方法我没有验证,感兴趣的可以试试。

后来我又想,django之前的老版本是有zh_CN的,要说这个一个bug,估计也比较低级,按理不应该的。于是又查,发现貌似zh_Hans可能已经替代zh_CN了。Han表示汉字,s表示Simplified简体,反正我设置为LANGUAGE_CODE = 'zh-hans'也是正常显示中文。

zh-cn will expired in Django1.9, the new format is zh-hans, but drf3.1.0 does not support this type of language.

上面的意思是在django1.9中,zh-cn过期了,可以用zh-hans替代,不过可能有些django的第三方模块还没有跟上这个变化。

总之,仁者见仁智者见智了,其实大可不必如此研究,只是突然对这个比较感兴趣所以多研究了一会。

ps:网上很多地方对于LANGUAGE_CODE = 'zh-cn'有各种不同写法,包括zh_CN,zh-CN等,有的人还说只能用某某写法等,反正我是没看出来区别,我也都试了,都没发现问题。

另外说个题外话,之前一直都不知道settings.py中的USE_I18N和USE_L10N是什么意思,直到看到了下面的一段话:

当 Web 服务搭建好以后,可以接收来自全球不同国家用户访问。这样就要求开发人员调整软件,使之能适用于不同的语言,即国际化和本地化。国际化

-- Internationalization,i 和 n 之间有 18 个字母,简称 I18N,。本地化 -- localization, l 和 n 之间有 10 个字母,简称 L10N。国际化意味着 Web

产品有适用于任何地方的潜力,针对程序开发人员;本地化则是指使一个国际化的程序为了在某个特定地区使用而进行实际翻译的过程,针对翻译人员而言。文章来源地址https://www.toymoban.com/news/detail-430775.html

到了这里,关于django的settings中设置中文支持的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ubuntu系统(7):ubuntu20.04中设置拼音输入中文

    目录 一、安装前准备 1、检查ibus和iBus preferences是否安装 2、打开 iBus Preferences 二、ibus pinyin安装 1、在Ubuntu Software里搜索 ibus pinyin,安装 2、ibus图形界面添加智能拼音Chinese-Intelligent Pinyin输入法 三、在Ubuntu设置里添加中文 不管是虚拟机的ubuntu系统还是在ubuntu主机中,都无法正

    2024年04月27日
    浏览(29)
  • 修改SSH默认端口,使SSH连接更安全_advanced ssh settings”中设置端口号

    yum provides semanage 安装 yum -y install policycoreutils-python-2.5-34.el7.x86_64 el 不是1 查询semanage ssh 已开设端口 semanage port -l | grep ssh 增加新端口 semanage port -a -t ssh_port_t -p tcp 2200 删除端口 semanage port -d -t ssh_port_t -p tcp 2200 3、防火墙端口设置(如果启用) #增加端口 firewall-cmd --zone=public -

    2024年04月12日
    浏览(58)
  • 【开源电商网站】(2),使用docker-compose和dockerfile进行配置,设置自定义的镜像,安装插件,增加汉化包,支持中文界面汉化。

    相关内容: https://blog.csdn.net/freewebsys/category_12461196.html 原文地址: https://blog.csdn.net/freewebsys/article/details/133666433 包括以下运行的详细代码: https://gitee.com/study-demo-all/oscommerce2-study 视频教程: https://www.bilibili.com/video/BV1kB4y1Z7HS/?vd_source=4b290247452adda4e56d84b659b0c8a2 首先是镜像的选择

    2024年02月05日
    浏览(38)
  • ecshop中设置顺丰快递支持货到付款的方法

    ecshop里面的很多快递信息都比较旧了,可能很久都没有更新,必须顺丰快递就支持了货到付款,但是却不能设置,只有等到用户付款以后才能发货,确实比较麻烦,那么ecshop如何设置顺丰快递支持货到付款呢? 第一步:查看当前的配送方式是否支持货到付款。 ECSHOP支持货到

    2023年04月16日
    浏览(26)
  • element UI中设置图片的高度并支持PC和手机自适应

    一、elementui 导航菜单栏和Breadcrumb 面包屑关联 二、elementui 左侧导航菜单栏与main区域联动 三、elementui 中设置图片的高度并支持PC和手机自适应 四、elementui 实现一个固定位置的Pagination(分页)组件 在使用Element UI时,可以通过样式覆盖来实现图片的高度在PC和移动端的自适应

    2024年04月13日
    浏览(33)
  • video.js在vue项目中设置中文语言包,报错videojs is not defined 解决办法

    在vue项目中使用video.js时要求中文化,但是网上的解决办法不太好找,特此记录一下。 错误步骤: 根据网上的教程,找到中文包在node_modules/video.js/dist/lang/zh-CN.js import \\\'video.js/dist/lang/zh-CN.js 在设置里配置成中文: language:“zh-CN” 报错:videojs is not defined 解决办法: 1、找到这

    2024年02月13日
    浏览(30)
  • 【Django配置管理】settings文件配置

    原文作者 :我辈理想 版权声明 :文章原创,转载时请务必加上原文超链接、作者信息和本声明。 Django框架是python的一个web框架,可以使用丰富的python的库。settings.py文件无论是本地开发还是环境部署都是经常使用的文件,如果settings没有配置好,开发将困难重重。很多时候

    2023年04月08日
    浏览(42)
  • Django “settings” 都有什么秘密呢

    Settings实体 首先是如其名,就是各种配置。 默认新建一个Django项目,它的配置长(下面是把注释去掉的样子): 具体详情 接下来我们看看都有啥? BASE_DIR :绑定项目文件位置的绝对路径,所有文件夹都依赖于此路径 SECRET_KEY :生产中使用的保密密钥 DEBUG :         Tr

    2023年04月26日
    浏览(33)
  • linux设置动态获取ip:如何在Linux中设置动态IP

    Linux设置动态获取IP的方法如下:使用命令进行设置: Linux设置动态获取IP的方法如下: 1. 使用ifconfig命令进行设置: 2. 使用dhclient命令进行设置: 3. 使用NetworkManager进行设置:

    2024年04月26日
    浏览(40)
  • Python Django 之全局配置 settings 详解

    对应项目下的 apps.py 文件,如: 在根目录下添加 templates 文件夹,可实现跳转至对应名称的 HTML 页面 方式1:项目内创建 static 文件夹 方式2:项目外创建 static 文件夹

    2024年02月08日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包