import os import pathlib import uuid from django.core.files.storage import default_storage from django.shortcuts import render, get_object_or_404, redirect from django.utils import timezone from django.contrib import messages from django.contrib.auth.decorators import login_required from .forms import CreateOfferForm from .models import Offer, Wish def index(request): return render(request, "app/index.html") @login_required def create_offer(request): if request.method == "POST": print(request.POST) form = CreateOfferForm(request.POST, request.FILES) if form.is_valid(): offer = form.save(commit=False) offer.image.name = generate_unique_filename(request.FILES['image'].name) offer.user = request.user offer.save() messages.success(request, "Offer uploaded successfully!") return redirect("offer_detail", offer.id) else: form = CreateOfferForm() return render(request, "basic_form.html", {"form": form, "button_label": "Create"}) @login_required def offer_detail(request, offer_id): offer = get_object_or_404(Offer, id=offer_id) return render(request, "offer/detail.html", {"offer": offer, "wishes": ["Monstera", "Tradescantia"]}) def generate_unique_filename(filename): file_type = pathlib.Path(filename).suffix new_filename = default_storage.get_available_name(uuid.uuid4()) return f'{new_filename}{file_type}' @login_required def offer_delete(request, offer_id): return 0 @login_required def offer_edit(request, offer_id): return 0 @login_required def offer_trade(request, offer_id): return 0