Вот так надо сделать:
1. Добавляешь миксин
2. Указываешь форму в form_class
2.1. Теперь по переменной form в html можешь формировать саму форму
3. Переопределяешь метод post и добавляешь значения в форму из kwargs или queryset
class NewsDetailView(ModelFormMixin, DetailView):
model = NewsModel
slug_url_kwarg = 'new_slug' # Обязательно для DetailView ссылается на переменную в url
form_class = CommentForm
def get_context_data(self, *, object_list=None, **kwargs):
context = super().get_context_data(**kwargs)
return context
def post(self, request, *args, **kwargs):
comment_form = CommentForm(data=request.POST)
if comment_form.is_valid():
comment_form = comment_form.save(commit=False)
# здесь добавляешь к полям формы новые значения,
# которые можешь взять из коллекции kwargs,
# обращаясь по ключу
comment_form.save()
return redirect('news', *args, **kwargs)