Skip to content

Instantly share code, notes, and snippets.

@siumhossain
Created June 7, 2021 05:55
Show Gist options
  • Select an option

  • Save siumhossain/1c4a1a69de3f94fb4dc7ac102db0741f to your computer and use it in GitHub Desktop.

Select an option

Save siumhossain/1c4a1a69de3f94fb4dc7ac102db0741f to your computer and use it in GitHub Desktop.
django class and function based view reference
from django.shortcuts import render,redirect
from django.http import HttpResponse
from .models import Lead
from .forms import LeadForm
from django.views.generic import ListView,DetailView,CreateView,UpdateView,DeleteView
from django.urls import reverse
# Create your views here.
def homepage(request):
return HttpResponse('hello homepage')
class LeadListView(ListView):
model = Lead
context_object_name = 'leads'
class LeadDetailView(DetailView):
context_object_name = 'lead'
queryset = Lead.objects.all()
class LeadCreateView(CreateView):
template_name = 'lead/lead_create.html'
form_class = LeadForm
def get_success_url(self):
return reverse("lead:lead")
class LeadUpdateView(UpdateView):
template_name = 'lead/lead_update.html'
queryset = Lead.objects.all()
form_class = LeadForm
def get_success_url(self):
return reverse("lead:lead")
class LeadDeleteView(DeleteView):
template_name = 'lead/lead_delete.html'
queryset = Lead.objects.all()
form_class = LeadForm
def get_success_url(self):
return reverse("lead:lead")
def lead(request):
leads = Lead.objects.all()
context = {
'leads': leads
}
return render(request,'lead_home.html',context)
def lead_details(request,pk):
lead = Lead.objects.get(id=pk)
context = {'lead': lead }
return render(request,'lead_details.html',context)
def lead_create(request):
form = LeadForm()
if request.method == 'POST':
form = LeadForm(request.POST)
if form.is_valid():
form.save()
return redirect('/lead')
context = {
'form':form
}
return render(request,'lead_create.html',context)
def lead_update(request,pk):
lead = Lead.objects.get(id=pk)
form = LeadForm(instance=lead)
if request.method == 'POST':
form = LeadForm(request.POST,instance=lead)
if form.is_valid():
form.save()
return redirect('/lead')
context = {
'form':form,
'lead':lead
}
return render(request,'lead_create.html',context)
def lead_delete(request,pk):
lead = Lead.objects.get(id=pk)
lead.delete()
return redirect('/lead')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment