我正在使用 DRF 作为后端并使用naturaltime
内置功能的移动应用程序,但由于这是一个移动应用程序,屏幕空间是一个大问题(至少对我来说)。因此,对于任意日期,我得到:
"1 week, 2 days ago"
这很好,但我想知道是否有可能得到
"1w, 2d ago"
我知道我可以替换字符串中的单词,但我希望有更好的方法。有什么建议吗?谢谢!
可能最好的方法是“本地化”名称。您可能想查看. django.contrib.humanize
要翻译、备份和更改文件django/contrib/humanize/locale/<your language>/LC_MESSAGES/django.po
,尤其是从第 240 行开始。然后,运行manage.py compilemessages
以更新.mo
文件。
不改变 Django 安装的另一种方法是:
将以下行添加到settings.py
,除非您已经这样做了:
LOCALE_PATHS = (
"/path/to/my/project/locale/",
)
添加一个名为en
上述路径的子目录
django.po
到en
您刚刚创建的目录中。naturaltime
粘贴到文件中。manage.py compilemessages
更新.mo
文件,然后等待更改传播。 manage.py
你可以试试这个 shortnaturaltime 过滤器。 https://github.com/ollieglass/django-shortnaturaltime
您似乎无法自定义:
https://github.com/django/django/blob/master/django/contrib/humanize/templatetags/humanize.py#L189