from django.contrib.auth.views import LoginView from django.shortcuts import render, redirect from django.contrib.auth import authenticate, login, logout from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.decorators import login_required from .forms import OrderForm from .models import Product, Order def home(request): return render(request, 'shop/home.html') def search_result(request): return render(request, 'shop/search_result.html') def register(request): if request.method == 'POST': form = UserCreationForm(request.POST) if form.is_valid(): user = form.save() login(request, user) return redirect('home') else: form = UserCreationForm() return render(request, 'shop/register.html', {'form': form}) @login_required def profile(request): # Ваш код для страницы профиля return render(request, 'shop/profile.html') login = LoginView.as_view(template_name='shop/login.html') def service(request): products = Product.objects.all() return render(request, 'shop/service.html', {'products': products}) def product_detail(request, product_id): product = Product.objects.get(pk=product_id) return render(request, 'shop/product_detail.html', {'product': product}) @login_required def order(request, product_id): product = Product.objects.get(pk=product_id) if request.method == 'POST': form = OrderForm(request.POST) if form.is_valid(): order = form.save(commit=False) order.user = request.user order.product = product order.save() return redirect('profile') else: form = OrderForm() return render(request, 'shop/order.html', {'form': form, 'product': product}) def logout_view(request): logout(request) return redirect('home') def login_view(request): if request.method == 'POST': username = request.POST['username'] password = request.POST['password'] user = authenticate(request, username=username, password=password) if user is not None: login(request, user) return redirect('home') return render(request, 'shop/login.html')