Django Createupdateview Implementation In The Django Template
I am very new to django Class based views, trying to integrate it with my existing project. My goal is to use same Class based view to Create and Update student application form. I
Solution 1:
The CreateUpdateView
you are using from this solution inherits from ModelFormMixin
and expect to handle only one form (initialization, form_class, saving, ...). And in your code your are rewriting get()
and post()
method so it make no sense to inherit from CreateUpdateView
.
Here is how you can do it using a simple View
(untested) :
from django.http import Http404
from django.views.generic import View
from django.shortcuts import render
classStudentView(View):
template_name = "admission.html"defget_object(self):
if self.kwargs.get('pk'):
try:
obj = Student.objects.get(pk=pk)
except Student.DoesNotExist:
raise Http404("No student found matching the query")
else:
return obj
returnNone# create viewdefget_view(self, request, *args, **kwargs):
forms = {"userform": UserForm(request.POST orNone, instance=self.object), guardian..., contact...} # other 5-6 forms}if request.POST:
invalid_forms = [form.is_valid() for form in self.forms.values()]
ifnotall(invalid_forms):
messages.error(request,'You must fill up all the valid mandatory form fields!')
else:
#-- Logic to validate and save each formreturn render(request, self.template_name, forms)
defget(self, request, *args, **kwargs):
self.object = self.get_object()
return self.get_view(request, *args, **kwargs)
defpost(self, request, *args, **kwargs):
self.object = self.get_object()
return self.get_view(request, *args, **kwargs)
Post a Comment for "Django Createupdateview Implementation In The Django Template"