Добрый день, помогите подключить к Django пакет с древовидными комментариями.
https://github.com/HonzaKral/django-threadedcomments
Не получается понять, как они с Django работают. Нужна ли своя модель для комментариев? В исходниках пакета вроде есть уже модели и через админку я их могу добавить, появляются в БД. Но не понимаю как сохранить форму с комментариями? Нужен ли обработчик post для формы в views?
Вот что я сделал читая Readme:
1) Установил через pycharm пакет с комментариями.
2) Добавил в settings.py в installed_apps все что нужно
3) В urls.py добавил роутинг:
urlpatterns = patterns('',
url(r'^comments/', include('django.contrib.comments.urls')),
url(
r'^blog/view/(?P<slug>[^\.]+).html',
'blog.views.view_post',
name='view_blog_post')
)
4) В шаблоне с постом загрузил теги от комментариев:
{% load threadedcomments_tags %}
{% render_comment_list for post %}
{% render_comment_form for post %}
{% get_comment_count for post as comment_count %}
<p>This post has {{ comment_count }} comments.</p>
5) Скопировал с gitHub из examples папку с шаблонами comments -> core (form.html, list.html), (base.html, posted.html).
6) У меня во view.py - Обработчик GET запроса Post (статьи блога) такой:
Я так понимаю тут надо обрабатывать post?def view_post(request, slug):
item = get_object_or_404(Post, slug=slug)
item.addViewed()
c = {
'post': item,
'breadcrumbs': breadcrumbs('blog.views.view_post', obj=item)}
c.update(csrf(request))
return render_to_response('blog/' + 'view_post.html', c)
7) Шаблон формы
Тут надо в action добавить метод который во views.py обрабатывает url?<div class="form-comment" id="form-comment">
<form action="comments/postfree" method="post">{% csrf_token %}
{{ form.as_p }}{# just to keep the example simple. Consider using django-crispy-forms in real life #}
<p>
<input type="submit" value="Submit Comment"/>
<a href="#c0" id="cancel_reply">cancel reply</a>
</p>
</form>
</div>
Не могу понять Example на GitHub, логично что post моей формы должен быть как-то обработан и сохранен в созданную после syncdb таблицу комментов в БД. Так-же не понимаю, где связывается Post с комментариями, я думал, что достаточно просто вызвать в любом template теги и апп комментов сам поймет в какую сущность добавили комментарий?:) Я работаю с Python недавно, поэтому еще не совсем понял его особенности и Django. Подскажите что я упустил, должно же все быть намного проще :)