Хранение переводов Django в базе данных - PullRequest
1 голос
/ 12 октября 2011

Я работаю над приложением Django, которое будет развернуто в Heroku (в их стеке Cedar). Ограничением этого является то, что мы не можем записать на диск. Однако переводы Django находятся в файлах .po, и поэтому клиент не сможет изменить переводы на реальном сайте без привлечения разработчика (что не идеально).

Таким образом, альтернативное решение состоит в том, чтобы хранить переводы в RDBMS, Mongo, Redis и т. Д. И т. Д.

Есть ли разумный способ добиться этого? Это даже хорошая идея? (Я бы не хотел использовать БД для каждого перевода!)

Редактировать: Кажется, существует множество приложений Django для перевода текста, который хранится в БД, но не для фактического хранения самих переводов в БД.

1 Ответ

0 голосов
/ 12 октября 2011

Что я думаю о переводах Django и переводах, хранящихся в файлах в целом - это для частей, которые не изменятся и не являются динамическими.Как и у вас есть константы на сайте.И если у вас есть динамический текст, который можно и нужно редактировать во время работы сайта - я бы сказал, что это то же самое, что и обычный контент (запись в блоге, комментарии и т. Д.).

Так что вы можетеПросто разработайте простой модуль «Части сайта» с тегом шаблона, который подберет для вас нужную вещь из БД.Как из шаблона, вы можете вызвать {get_site_part example}.И затем вы можете редактировать эти части из интерфейса администратора.

Я бы не рекомендовал сохранять динамический контент в системные файлы.Если вы беспокоитесь о попадании в базу данных каждый раз, когда вам это нужно - кеширование здесь должно помочь, вы также можете разработать умный шаблонный тег и собрать все нужные вам части сайта в одном запросе.Тогда это будет ничем не отличается от простой загрузки записи в блоге или комментария к ней.

Может быть, я ошибаюсь, так что это всего лишь мой 2c по этой теме:)

Ignas

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...