- CreateView is a class in Django for creating views specifically for creating the form and saves entered data into the database. Make sure you have the following in views.py:
- (Note: <form class name> is generally <model name> + “Form”)
class <model name>Create(CreateView):
model = <model name>
form_class = <form class name>
class <model name>Update(UpdateView):
model = <model name>
form_class = <form class name>
class <model name>Delete(DeleteView):
model = <model name>
success_url = reverse_lazy('<model name>s')
- Add the following fields under this your class(es) in views.py:
model = <model name>
form_class = <form class name>
- Add class to forms.py, excluding created_at and updated_at from being editable:
class <form name>(forms.ModelForm):
class Meta:
model = <model name>
exclude = ('created_at', 'updated_at',)
- Don’t forget to add the following import statements to views.py:
from django.shortcuts import render
from catalog.models import <model name>
import datetime
from django.contrib.auth.decorators import permission_required
from django.shortcuts import get_object_or_404
from django.http import HttpResponseRedirect
from django.urls import reverse
from .forms import <form class name>
from django.views.generic.edit import CreateView, UpdateView, DeleteView
from django.urls import reverse_lazy
from .models import <model name>