Sep-07-2020, 03:55 AM
oh it does I didn't include it all. Here is the whole thing :
from django.contrib.auth import authenticate, login, logout from django.db import IntegrityError from django.http import HttpResponse, HttpResponseRedirect from django.shortcuts import render from django.urls import reverse from .models import User def index(request): return render(request, "auctions/index.html") def login_view(request): if request.method == "POST": # Attempt to sign user in username = request.POST["username"] password = request.POST["password"] user = authenticate(request, username=username, password=password) # Check if authentication successful if user is not None: login(request, user) return HttpResponseRedirect(reverse("index")) else: return render(request, "auctions/login.html", { "message": "Invalid username and/or password." }) else: return render(request, "auctions/login.html") def logout_view(request): logout(request) return HttpResponseRedirect(reverse("index")) def register(request): if request.method == "POST": username = request.POST["username"] email = request.POST["email"] # Ensure password matches confirmation password = request.POST["password"] confirmation = request.POST["confirmation"] if password != confirmation: return render(request, "auctions/register.html", { "message": "Passwords must match." }) # Attempt to create new user try: user = User.objects.create_user(username, email, password) user.save() except IntegrityError: return render(request, "auctions/register.html", { "message": "Username already taken." }) login(request, user) return HttpResponseRedirect(reverse("index")) else: return render(request, "auctions/register.html") def auction(request): if request.method == "POST": title = request.POST.get("title") description = request.POST.get("description") price = request.POST.get("price") category = request.POST.get("category") new = NewPost.objects.create(title, description, price, category) new.save() return render(request, "auctions/auction.html") else: return render(request, "auctions/auction.html") def watchlist(request): return render(request, "auctions/watchlist.html") def categories(request): return render(request, "auctions/categories.html")