29 lines
905 B
Python
29 lines
905 B
Python
from django.views.generic import DetailView, CreateView
|
|
from django.views.generic.edit import ModelFormMixin
|
|
from django.forms import modelform_factory
|
|
from django.http import HttpResponseRedirect
|
|
|
|
# Create your views here.
|
|
|
|
from .models import Post, Comment
|
|
|
|
|
|
class PostDetailView(DetailView, ModelFormMixin):
|
|
model = Post
|
|
form_class = modelform_factory(Comment, fields=("comment",))
|
|
success_url = "#"
|
|
|
|
def form_valid(self, form):
|
|
comment = form.save(commit=False)
|
|
comment.post = self.object
|
|
comment.user = self.request.user
|
|
comment.save()
|
|
return HttpResponseRedirect(self.get_success_url())
|
|
|
|
def post(self, request, *args, **kwargs):
|
|
self.object = self.get_object()
|
|
form = self.form_class(request.POST)
|
|
if form.is_valid:
|
|
return self.form_valid(form)
|
|
else:
|
|
return self.form_invalid(form)
|