在数据库中存储Django翻译

在数据库中存储Django翻译,django,heroku,translation,Django,Heroku,Translation,我正在开发一个Django应用程序,它将被部署到Heroku(在他们的Cedar堆栈上)。这样做的一个限制是我们无法写入磁盘。但是,Django翻译驻留在.po文件中,因此客户端将无法在不涉及开发人员的情况下更改实时站点上的翻译(这并不理想) 因此,另一种解决方案似乎是将翻译存储在RDBMS、Mongo、Redis等中 有什么明智的方法来实现这一点吗?这是个好主意吗?(我不想每次翻译都打DB!) 编辑:似乎有很多Django应用程序用于翻译存储在DB中的文本,但实际上并不用于将翻译本身存储在DB

我正在开发一个Django应用程序,它将被部署到Heroku(在他们的Cedar堆栈上)。这样做的一个限制是我们无法写入磁盘。但是,Django翻译驻留在.po文件中,因此客户端将无法在不涉及开发人员的情况下更改实时站点上的翻译(这并不理想)

因此,另一种解决方案似乎是将翻译存储在RDBMS、Mongo、Redis等中

有什么明智的方法来实现这一点吗?这是个好主意吗?(我不想每次翻译都打DB!)


编辑:似乎有很多Django应用程序用于翻译存储在DB中的文本,但实际上并不用于将翻译本身存储在DB中。

我对Django翻译和存储在文件中的翻译的看法-这是针对不会更改且不是动态的部分。就像网站上的常量一样。如果你有动态文本,当网站运行时,它可以而且必须被编辑——我会说这和正常内容(博客条目、评论等)是一样的

因此,您可以只开发简单的模块“siteparts”,使用模板标签,从DB中获取适合您的内容。就像从模板中一样,您可以调用{get_site_part example}。然后您可以从管理界面编辑这些部分

我不建议将动态内容存储到系统文件中。如果您担心每次需要时都会访问数据库,那么缓存在这里也会有所帮助,您可以开发智能模板标记,并在一个查询中获取所需的所有站点部分。然后,它将与仅仅加载博客条目或评论没有什么不同

也许我错了,所以这只是我对这个话题的看法:)


Ignas

告诉我是否有必要将翻译保存在db中?嗨,Ignas,非常感谢。环顾四周,我所寻找的似乎还没有完成。我认为这是一个奇怪的位置,因为它是一个较小的应用程序,但写到磁盘是不可能的,也不要求开发人员把新的翻译现场。