Я хочу использовать Скидку с цены для системы комментария своего веб-сайта, но я наткнулся на следующую проблему: Что я должен сохранить в базе данных - исходный комментарий в Скидке с цены, проанализированный комментарий в HTML или обоих?
Мне нужны версия HTML для просмотра и версия Скидки с цены, если пользователь должен отредактировать свой комментарий. Если я храню версию Скидки с цены, я должен проанализировать комментарии во времени выполнения. Если я храню версию HTML, я должен преобразовать комментарий назад в Скидку с цены, когда пользователь должен отредактировать его (я нашел Markdownify для этого, но это не безупречно). Если я храню обе версии, я удваиваю использованное пространство.
Каков был бы наилучший вариант? Кроме того, как Переполнение стека обрабатывает это?
IMHO необходимо рассмотреть возможность отказа от замены членов CONST.
PD: Я думаю, вы могли бы рассмотреть возможность использования отражения в вашем подходе. таким образом, вы не должны поддерживать функцию.
-121--3842613-Я не думаю, что URL-адреса, на которые ссылаются кнопки, являются каким-либо магическим, поэтому вы, вероятно, могли бы добавить другую кнопку с отсутствующей функциональностью, просто переопределяя шаблон администратора для http://docs.djangoproject.com/en/dev/ref/contrib/admin/#overriding-admin-templates
-121--4501527-Храните оба. Это идет вразрез с правилами нормализации базы данных, но я думаю, что это стоит того для оптимизации скорости в данном случае - разбор больших объемов текста очень медленная операция.
Вам нужно хранить его только дважды, но вам может понадобиться обслуживать его тысячи раз, так что это компромисс между пространством и временем.
Храните исходную уценку и выполняйте разбор во время выполнения. Есть несколько проблем с хранением преобразованной версии в базе данных.
Просто визуализируйте Уценка до HTML во время выполнения.
Если ваш сайт столкнется с проблемами производительности, Markdown будет одним из последних вещей, которые вам нужно будет настроить. И даже тогда, я сомневаюсь, что это будет иметь смысл.
Достаточно взглянуть на средство визуализации JavaScript в реальном времени, которое использует SO. Это быстро.
Изменить: Извините, я должен был быть более ясным. Я имел в виду просто рендеринг на PHP. Вы избавите себя от головной боли - и, вероятно, у вас есть более важные дела, о которых нужно беспокоиться.