views.py 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. from django.shortcuts import render, redirect
  2. from .models import Service
  3. from django.views.generic.base import View
  4. from django.contrib.auth import logout
  5. from django.contrib.auth.views import LoginView
  6. from .forms import RegistrationForm, ServiceForm
  7. from django.views.generic import DetailView
  8. class index(View):
  9. def get(self, request):
  10. services = Service.objects.all()
  11. return render(request, 'index.html', {'service_list': services})
  12. def profile(request):
  13. return render(request, 'accounts/profile.html')
  14. class services(View):
  15. def get(self, request):
  16. services = Service.objects.all()
  17. return render(request, 'services.html', {'service_list': services})
  18. login_view = LoginView.as_view(template_name='login.html')
  19. def register(request):
  20. if request.method == "POST":
  21. form = RegistrationForm(request.POST)
  22. if form.is_valid():
  23. user = form.save(commit=True)
  24. user.set_password(form.cleaned_data['password'])
  25. user.save()
  26. return render(request, 'login.html')
  27. else:
  28. form = RegistrationForm()
  29. return render(request, 'registration.html', {'form': form})
  30. def logout_view(request):
  31. logout(request)
  32. return redirect('index')
  33. def add(request):
  34. if request.method == "POST":
  35. form = ServiceForm(request.POST, request.FILES)
  36. if form.is_valid():
  37. form.save()
  38. return redirect('index')
  39. else:
  40. form = ServiceForm()
  41. return render(request, 'add.html', {'form': form})
  42. class DetailRequest(DetailView):
  43. model = Service
  44. template_name = 'detail.html'
  45. context_object_name = 'service'