Я пытаюсь использовать приложение комментариев в своем проекте.
Я пытался использовать код ({% render_comment_form для % события}), показанный в документации здесь: Django комментирует
И вопрос состоит в том, как сделать перенаправление формы к той же странице после представления.
Также большой вопрос: В настоящее время, если у нас есть какая-либо ошибка, найденная в для, затем мы перенаправляемся для предварительного просмотра шаблона. Это возможно избежать этого поведения и ошибок дисплея по той же форме (на той же странице)?
Я покажу вам, как я решил это в моем блоге, чтобы вы могли сделать что-то подобное. Мои комментарии предназначены для въезда в заявке в записи.
Сначала добавьте новый метод для вашей записи (например) объекта.
def get_absolute_url(self):
return "/%i/%i/%i/entry/%i/%s/" % (self.date.year, self.date.month, self.date.day, self.id, self.slug)
Он генерирует URL для входных объектов. URL-пример: / 2009/12 / 12 / вход / 1 / lorem-ipsum /
на URLSPY Add 1 строку:
(r'^comments/posted/$', 'smenteks_blog.entries.views.comment_posted'),
Итак, теперь у вас должно быть как минимум 2 строки для комментариев в вашем файле URLS.
(r'^comments/posted/$', 'smenteks_blog.entries.views.comment_posted'),
(r'^comments/', include('django.contrib.comments.urls')),
Для записей (например) приложения в Proys.py файл добавить функцию:
from django.contrib.comments import Comment #A
...
def comment_posted(request):
if request.GET['c']:
comment_id = request.GET['c'] #B
comment = Comment.objects.get( pk=comment_id )
entry = Entry.objects.get(id=comment.object_pk) #C
if entry:
return HttpResponseRedirect( entry.get_absolute_url() ) #D
return HttpResponseRedirect( "/" )
Теперь:
Следующее, что нужно сделать, - это переопределить предварительный просмотр. HTML Шаблон: