views.py:
from django.shortcuts import render, redirect
from django.views import View
from .models import HeaderTextDesc, Contacts, Portfolio
from Services.models import Services
from Applications.forms import ApplicationsForm
class MainView(View):
def post(self, req):
form = ApplicationsForm(req.POST)
if form.is_valid():
form.save()
return redirect('/')
def get(self, req):
headerTextDesc, contacts = HeaderTextDesc.objects.all()[0], Contacts.objects.all()[0]
services_objects = Services.objects.all()
potrfolio_objects = Portfolio.objects.all()
form = ApplicationsForm()
context = {
'title': headerTextDesc.title,
'desc': headerTextDesc.description,
'tel_number': contacts.tel_number,
'vk_link': contacts.vk_link,
'telegram_link': contacts.telegram_link,
'whatsApp_link': contacts.whatsApp_link,
'services_objects': services_objects,
'portfolio_objects': potrfolio_objects,
'form': form
}
return render(req, 'MainTEST.html', context)
После пост запроса от формы, я хотел бы отрендерить страницу так же как функция get(), НО передать в переменную context новый ключ, содержащий ответ от сервера как прошла отправка формы и вывести на страницу. Неужто придется копировать весь код содержащийся в get() в метод post() и вернуть рендер? Или есть гуманный способ вместо дублирования?