Добавление комментариев в Django - PullRequest
1 голос
/ 16 марта 2019

Я студент и новичок в Джанго. Я просто хочу спросить, как я могу преобразовать этот код комментария из представления функции в представление класса. Также обратите внимание, что в книге есть поле слизняков.

def BookDetail(request, id):
most_recent = Book.objects.order_by('-timestamp')[:3]
book= get_object_or_404(Book, id=id)
form = CommentForm(request.POST or None)
if request.method == "POST":
    if form.is_valid():
        form.instance.user = request.user
        form.instance.post = book
        form.save()
        return redirect(reverse("book-detail", kwargs={
            'id': book.pk
        }))
context = {
    'form': form,
    'book': book,
    'most_recent': most_recent,

}
return render(request, 'catalog/book_detail.html', context)

из приведенного выше кода к приведенному ниже:

class BookDetailView(DetailView):
model = Book

1 Ответ

1 голос
/ 16 марта 2019

Вы можете определить подробный вид и get_context_data, где вы можете добавить столько полей, которые могут передать ему шаблон.

class BookDetailView(DetailView):

    model = Book

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        # adding additional field like below
        context['now'] = timezone.now()
        return context
...