我在使用DRF作为后端并使用naturaltime
内置功能的移动应用程序中工作,但由于这是一个移动应用程序,屏幕空间是一个大问题(至少对我来说)。因此,对于任意日期,我得到:
"1 week, 2 days ago"
哪个好,但我想知道是否有可能获得
"1w, 2d ago"
我知道我可以用字符串替换单词,但我希望有更好的方法。有什么建议吗?谢谢!
答案 0 :(得分:3)
执行此操作的最佳方法可能是“本地化”名称。 您可能想查看source of 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
translations粘贴到文件中。manage.py compilemessages
以从 .mo
所在的目录更新manage.py
个文件,然后等待更改为传播。答案 1 :(得分:1)
您可以尝试使用此短时间过滤器。 https://github.com/ollieglass/django-shortnaturaltime
答案 2 :(得分:0)