Photo De-Duplication
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
dedup/webapp/authapp/views.py

54 lines
1.9 KiB

from django.shortcuts import render, redirect
from django.contrib import messages
import os
import subprocess # To run external scripts
def login_view(request):
if request.method == 'POST':
username = request.POST.get('username')
password = request.POST.get('password')
if username == 'bob' and password == 'guest':
# Set session variables
request.session['logged_in'] = True
request.session['username'] = username # Optional: Store username
messages.success(request, 'Login successful!')
return redirect('success') # Redirect to a success page
else:
messages.error(request, 'Invalid credentials!')
return render(request, 'authapp/login.html')
def success_view(request):
# Check if user is logged in via session
if not request.session.get('logged_in'):
messages.error(request, 'You must log in first!')
return redirect('login') # Redirect to login page if not authenticated
# Define paths to your images (adjust as needed)
image1 = os.path.join('..', 'a.jpg') # Full path to a.jpg
image2 = os.path.join('..', 'b.jpg') # Full path to b.jpg
try:
result = subprocess.run(
["python", "../dedup.py", image1, image2, "-noansi", "-scores"],
capture_output=True,
text=True
)
script_output = result.stdout
except Exception as e:
script_output = f"Error: {e}"
# Pass results to the template
return render(request, "authapp/success.html", {
"script_output": script_output,
})
def home_view(request):
return render(request, 'authapp/home.html') # Create home.html in templates
def logout_view(request):
# Clear session data
request.session.flush() # Or use del request.session['logged_in']
messages.success(request, 'You have been logged out.')
return redirect('login')