from django.shortcuts import render, redirect from .models import Item from django.views.generic.base import View from django.contrib.auth import logout from django.contrib.auth.views import LoginView from .forms import RegisterUserForm, ItemForm from django.views.generic import DetailView class index(View): def get(self, request): items = Item.objects.all() return render(request, 'index.html', {'items': items}) class services(View): def get(self, request): items = Item.objects.all() return render(request, 'main/services.html', {'items': items}) def profile(request): return render(request, 'main/profile.html') login_view = LoginView.as_view(template_name='accounts/login.html') def register(request): if request.method == "POST": form = RegisterUserForm(request.POST) if form.is_valid(): user = form.save(commit=True) # создание объекта без сохранения в БД user.set_password(form.cleaned_data['password']) user.save() return render(request, 'accounts/registration_done.html') else: form = RegisterUserForm() return render(request, 'accounts/registration.html', {'form': form}) def logout_view(request): logout(request) return redirect('index') def add_item(request): if request.method == "POST": form = ItemForm(request.POST, request.FILES) if form.is_valid(): form.save() return redirect('index') else: form = ItemForm() return render(request, 'main/add_item.html', {'form': form}) class DetailRequest(DetailView): model = Item template_name = 'main/detail.html' context_object_name = 'item'