Возврат контекстной переменной вместе с сохраненной формой
У меня есть следующее представление на основе класса, которое создает проект с помощью формы, а затем возвращает эту созданную форму.
class ProjectCreateView(LoginRequiredMixin, CreateView):
login_url = "registration:login"
model = Project
# fields = ['name', 'desc', 'start_date', 'end_date']
template_name = 'project/form.html'
form_class = ProjectModelForm
def get_context_data(self, **kwargs):
# Call the base implementation first to get a context
context = super().get_context_data(**kwargs)
# Add in a QuerySet of all the books
context['projectCreated'] = True
return context
def form_valid(self, form):
form.instance.user = self.request.user
project_name=form.cleaned_data.get('name')
print("Project name-------------+++++++++++"+str(project_name))
namesTaken=Project.objects.values_list('name', flat=True)
if project_name in namesTaken:
return self.render_to_response(self.get_context_data(form=form,projectNameRepeated=True))
'''
else:
context={"projectCreated":True,"saved":super().form_valid(form)}
return self.render_to_response(context)
'''
#context = {'form':super().form_valid(form)}
#form=super().form_valid(form)
#return self.render_to_response(self.get_context_data(form=form,datasetNameRepeated=True))
return super().form_valid(form)
Теперь я хочу вернуть контекст, который будет ProjectCreated=True. Этот контекст возвращается еще до того, как форма будет отправлена и проект будет создан. Но мне нужно вернуть его после создания проекта, потому что тогда я выведу предупреждение в моем шаблоне base.html
{% elif DatasetCreated %}
<script>
displayToast("Dataset","Dataset Created Successfully");
</script>
{% endif%}
далее следует код url
path('create/', views.ProjectCreateView.as_view(), name='create'),
В общем, я ищу способ вернуть контекст, когда проект сохраняется в базе данных или после успешной отправки формы. Спасибо