Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2017 10:44:04

Kacilo
Зарегистрирован: 2017-01-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с django-mptt ajax

Добрый день, ув.форумчане, помогите решить проблему.
Использую для вывода древовидных комментариев django-mptt.
Каким образом можно перезагрузить\обновить recursetree nodes если я добавляю комментарии с помощью ajax?

 ul class="parent">
            {% recursetree nodes %}
                <li>{{ node.created_date }} {{ node.text }} {{ node.id }}
                    <form method="POST" class="post-form" action="/create_post/{{node.id}}/" id="post-form-{{ node.id }}">
                      {% csrf_token %}
                      <input name="text" type="text" id="{{ node.id }} " placeholder="Comments"></input>
                      <div id="results"></div> <!-- errors show -->
                      <input type="submit" value="Post" class="btn btn-primary" >
                  </form>
                    {% if not node.is_leaf_node %}
                    <ul class="children" id="list-{{ node.id }}">
                      {{ children }}
                    </ul>
                    {% endif %}
                </li>
            {% endrecursetree %}
        </ul>

 $('.post-form').on('submit', function(e){
 e.preventDefault();
 $.ajax({
        url : $(this).attr('action'),
        type : "POST",
        data: $(this).serialize(),
        success : function(data) {
            console.log(data); 
            console.log("success"); 
       },
        // handle a non-successful response
        error : function(xhr,errmsg,err) {
            $('#results').html("<div class='alert-box alert radius' data-alert>Oops! We have encountered an error: "+errmsg+
                " <a href='#' class='close'>&times;</a></div>"); // add the error to the dom
            console.log(xhr.status + ": " + xhr.responseText); // provide a bit more info about the error to the console
        }
    });
});

Отредактировано Kacilo (Фев. 6, 2017 10:46:12)

Офлайн

#2 Фев. 6, 2017 10:50:22

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

Проблемы с django-mptt ajax

Kacilo
Если вы работаете с ajax, то единственно верным решением будет использование какого-нибудь более-менее мощного клиентского фреймворка на свой вкус (вместо постоянного перерендеривания страницы на сервере - манипуляции с ДОМ на клиенте). Я бы рекомендовал angular.js. Поверьте, у вас уменьшится размер геморроя в разы.



Офлайн

#3 Фев. 6, 2017 11:45:02

Kacilo
Зарегистрирован: 2017-01-10
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблемы с django-mptt ajax

FishHook
Я тоже уже начал задумываться про AngularJS. Я думал может надо подключать дополнительный модуль для этих целей типа django.contrib.comments или прочих.
Спасибо за ваш ответ буду пробовать Angular.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version