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

时间:2015-03-04 21:34:43

标签: python django django-views

我想知道"最佳做法"用于存储要在Python / Django中的UI中使用的中等长度字符串。

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

我目前的想法是,我应该创建某种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."

一般来说,是否存在一些规范的方法来存储字符串,这些字符串过于灵活,无法在"中进行硬编码,但是对于数据库来说太小而且静态#34;(并且#39; ; t与您的使用规模)?我想到了Android项目中strings.xml文件中的那种东西。

我玩杂耍的其他可能性包括一个text.py读取和存储为常量的文本文件,实际上只是硬编码,并将它们粘贴在模板文件中。

有很多方法可以做到这一点,而且这不是一件非常复杂的事情,我只是想知道哪一个是最正确的'。

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

1 个答案:

答案 0 :(得分:7)

如果您完全确定,这些字符串永远不需要变为动态,只需创建一个strings.py模块并将字符串作为变量删除("常量")

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

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