Я думаю, что вы путаете представления функций и представления на основе классов (CBV) и никогда не импортируете запрос, это просто параметр, который получают ваши представления.
В представлении функций вы выполняетеследующее:
def my_view(request):
if request.method == 'POST':
# do some stuff
Для CBV каждый метод является функцией:
from django.views.generic.edit import CreateView
class MyView(CreateView):
model = Answer
fields = ['content']
def get(self, request):
# do some stuff
def post(self, request):
# do some stuff
РЕДАКТИРОВАТЬ: для доступа к параметрам URL в представлениях на основе классов используйте self.kwargs, поэтому вы получите доступ к комментариюpk, выполнив self.kwargs ['pk'].Теперь вам просто нужно получить комментарий и добавить его к данным контекста:
class CreateAnswer(CreateView):
model = Answer
fields = ['content']
def get_context_data(self, **kwargs):
kwargs['comment'] = Comment.objects.get(pk=self.kwargs['pk'])
return super().get_context_data(**kwargs)
def form_valid(self, form):
# do some stuff