views.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. from django.shortcuts import render
  2. # Create your views here.
  3. from django.contrib.auth.mixins import LoginRequiredMixin
  4. from django.shortcuts import render, redirect
  5. from django.urls import reverse_lazy
  6. from django.views import generic
  7. from django.views.generic import CreateView, ListView
  8. from django.views.generic.detail import DetailView
  9. from .models import *
  10. from .forms import *
  11. class ProductList(generic.ListView):
  12. model = Product
  13. fields = ('name', 'description', 'type', 'image', 'date',)
  14. template_name = 'base.html'
  15. context_object_name = 'product'
  16. paginate_by = 5
  17. class RegistrationUserForm(CreateView):
  18. form_class = RegistrateForm
  19. template_name = 'registration/register.html'
  20. success_url = reverse_lazy('login')
  21. class ProductListMax(generic.ListView):
  22. model = Product
  23. fields = ('name', 'description', 'type', 'image', 'id')
  24. template_name = 'service.html'
  25. context_object_name = 'product'
  26. class ProductView(generic.DetailView):
  27. model = Product
  28. fields = ('name', 'description', 'type', 'image', 'user')
  29. template_name = 'app/product_list.html'
  30. class BasketView(generic.DetailView):
  31. model = Basket
  32. template_name = 'cabinet.html'
  33. context_object_name = 'basket'
  34. def profile(request):
  35. return render(request, 'profile.html')
  36. class Search(ListView):
  37. template_name = 'base.html'
  38. def get_queryset(self):
  39. return Product.objects.filter(name__icontains=self.request.GET.get('q'))
  40. def get_context_data(self, *, object_list=None, **kwargs):
  41. context = super().get_context_data(**kwargs)
  42. context['q'] = self.request.GET.get
  43. def log(request):
  44. return render(request,'registration/log.html')