M
MoDPhoenix21 октября 2017 г. 11:33

Создание истории редактирования постов на сайте

Привет всем,


Делаю базу данных по игре на сайте который работает на Django. Хочется что бы любой пользователь мог редактировать статьи в базе данных и в связи с этим также хочется реализовать историю редактирования. Например как на Википедии или в WordPress админке.

Если ли у кого то идеи как это можно реализовать на Django?
Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Вам это нравится? Поделитесь в социальных сетях!

7
Evgenii Legotckoi
  • 21 октября 2017 г. 12:15
  • (ред.)
  • Ответ был помечен как решение.

Добрый день!


Само редактирование страниц можно сделать в обычной форме редактирования с использованием того же самого CKEditor, поскольку вам понадобится WYSIWYG редактор для такого функционала.
А  потом самый простой есть вариант, это сделать кнопочку Редактировать на сайте, которая откроет страницу в которой будет форма редактирования статьи. Это будет ближе к админке WordPressa, то что сделано на Википедии - это значительно более сложная реализация.

Что касается истории сохраний, ревизий, то можно поискать среди готовых батареек для Django, например, django-simple-history, вроде как его советуют для подобного функционала, и он должен позволять откатиться до определённой ревизии.
    M
    • 21 октября 2017 г. 12:37

    Большое спасибо за развернутый ответ. Первые два пункта уже готовы, редактор кстати выбрал quilljs .

      Evgenii Legotckoi
      • 21 октября 2017 г. 12:46

      Не встречался с таким, когда подбирал редактор для своего сайта. django-quill - это он?
      Как у него по удобству с кастомизацией внешнего вида? А также что с подсветкой синтаксиса кода?

        M
        • 21 октября 2017 г. 13:19

        Quilljs сложно сравнивать CKEditor. Quill намного менее функциональный редактор, но самая большая проблема с ним по крайней мере для меня, он по умолчанию(ли скорее рекомендовано) использует для сохранения json Delta, а не html. Хотя я сохраняю в БД html вот таким образом


        const quill = new Quill('#editor-container', {
            modules: {
              toolbar: '#toolbar-container'
            },
            placeholder: 'Напишите что то...',
            theme: 'snow'
          });
        
        
          $(document).ready(function () {
            var content = document.getElementById('id_content');
            var qlEditor = document.getElementsByClassName('ql-editor');
        
            if (content.value === '') {
              // Ести поле textarea пустое, вставлет пробел 
              content.value = ' ';
            } else {
              // При редактировании поста вставляет html
              // с textarea в quill редактор
              $('.ql-editor').html(content.value);
            }
        
            $("#toolbar-container").stick_in_parent();
        
          });
          // Передает html разметку с редактора в textarea
          // при отправке формы
          var form = document.querySelector('form');
          form.onsubmit = function () {
            var content = document.getElementById('id_content');
            content.value = quill.root.innerHTML;
          };
        django-quill заброшен так что я его не использую
          M
          • 21 октября 2017 г. 13:29

          Кастомизируется очень просто и удобно, подсветку кода я не тестил, но как я понял для этого используется highlight.js

            Evgenii Legotckoi
            • 21 октября 2017 г. 13:33

            Ясно. Тогда я лучше не буду тратить время на его проверку. Тем более, что я использую гугловский prettyprint для подсветки кода.

            Спасибо за информацию.
              M
              • 22 октября 2017 г. 13:37
              • (ред.)

              Вдруг кому будет интересно нашел уже готовое решение вопроса django-reversion + django-reversion-compare.

                Комментарии

                Только авторизованные пользователи могут публиковать комментарии.
                Пожалуйста, авторизуйтесь или зарегистрируйтесь
                AD

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:50баллов,
                • Очки рейтинга-4
                m
                • molni99
                • 26 октября 2024 г. 9:37

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:80баллов,
                • Очки рейтинга4
                m
                • molni99
                • 26 октября 2024 г. 9:29

                C++ - Тест 004. Указатели, Массивы и Циклы

                • Результат:20баллов,
                • Очки рейтинга-10
                Последние комментарии
                i
                innorwall14 ноября 2024 г. 8:03
                Как написать игру на Qt - Урок 3. Взаимодействие с другими объектами what is priligy tablets What happens during the LASIK surgery process
                i
                innorwall14 ноября 2024 г. 5:09
                Использование переменных объявленных в CMakeLists.txt внутри C++ файлов where can i buy priligy online safely Tom Platz How about things like we read about in the magazines like roid rage and does that really
                i
                innorwall12 ноября 2024 г. 7:12
                Django - Урок 055. Как написать функционал auto populate field Freckles because of several brand names retin a, atralin buy generic priligy
                i
                innorwall12 ноября 2024 г. 3:23
                QML - Урок 035. Использование перечислений в QML без C++ priligy cvs 24 Together with antibiotics such as amphotericin B 10, griseofulvin 11 and streptomycin 12, chloramphenicol 9 is in the World Health Organisation s List of Essential Medici…
                i
                innorwall12 ноября 2024 г. 0:50
                Qt/C++ - Урок 052. Кастомизация Qt Аудио плеера в стиле AIMP It decreases stress, supports hormone balance, and regulates and increases blood flow to the reproductive organs buy priligy online safe Promising data were reported in a PDX model re…
                Сейчас обсуждают на форуме
                i
                innorwall14 ноября 2024 г. 9:39
                добавить qlineseries в функции Listen intently to what Jerry says about Conditional Acceptance because that s the bargaining chip in the song and dance you will have to engage in to protect yourself and your family from AMI S…
                i
                innorwall11 ноября 2024 г. 19:55
                Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                9
                9Anonim25 октября 2024 г. 17:10
                Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
                ИМ
                Игорь Максимов3 октября 2024 г. 12:05
                Реализация навигации по разделам Спасибо Евгений!

                Следите за нами в социальных сетях