在 Python/Django 中存储 UI 消息字符串的最佳做法是什么?

What is the best practice for storing UI messaging strings in Python/Django?

我想知道 "best practice" 是什么,用于存储中等长度的字符串,以便在 Python/Django 中的 UI 中使用。

示例: 我有一个带有 error_description 字段的 error.html 模板。这是几句话,向用户解释出了什么问题,以及他们可能会采取什么措施来解决问题。不同的错误页面可能不同,但在代码中保持相当稳定(没有理由不能推送源代码的人应该能够修改它),并且可以很容易地保留在内存中,所以我不认为这是应该保存在数据库中的东西。

我目前的想法是,我应该只创建某种 messages.py 文件,其中包含一堆字符串常量,如下所示:

ERROR_UNAUTHENTICATED_AJAX_EXPLANATION = "Hello, so the only way that this error should occur is if someone attempts to directly call our AJAX endpoint without having the verification code. Please don't do this, it's against the principles of this art projects."

一般来说,是否有一些规范的方法来存储 "too flexible to be hard coded in" 但 "too small and static for databases"(并且不随您的使用而扩展)的字符串?我正在考虑 Android 项目中 strings.xml 文件中的那种东西。

我正在处理的其他可能性包括 views.py 读取和存储为常量的文本文件,实际上只是对它们进行硬编码,然后将它们粘贴到模板文件中。

有很多方法可以做到这一点,也不是很复杂的事情,我只想知道哪种方法最'right'。

谢谢!如果您需要更多信息,请告诉我!

如果您完全确定,这些字符串永远不需要变成动态的,只需创建一个 strings.py 模块并将字符串作为变量放在那里 ("constants")

但是,由于消息是用户可见的,因此您很可能需要在应用程序生命周期的某个时刻对它们进行本地化。因此,请利用 Django 出色的 gettext 支持:

https://docs.djangoproject.com/en/1.7/topics/i18n/