【问题标题】:What is the best practice for storing UI messaging strings in Python/Django?在 Python/Django 中存储 UI 消息字符串的最佳实践是什么?
【发布时间】:2015-03-04 21:34:42
【问题描述】:

我想知道在 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."

一般来说,是否有一些规范的方法来存储“过于灵活而无法硬编码”但“对于数据库来说太小和静态”(并且不随您的使用而扩展)的字符串?我正在考虑Android项目中strings.xml文件中的那种东西。

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

有很多方法可以做到这一点,也不是很复杂的事情,我就是想知道哪个最“对”。

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

【问题讨论】:

    标签: python django django-views


    【解决方案1】:

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

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

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

    【讨论】:

    • 谢谢!正是我想知道的!是的,这些可能需要在某个时候进行本地化。
    猜你喜欢
    • 1970-01-01
    • 2012-04-10
    • 1970-01-01
    • 1970-01-01
    • 2011-12-03
    • 1970-01-01
    • 2010-09-19
    • 2020-09-10
    • 2020-04-26
    相关资源
    最近更新 更多