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.
54 lines
1.9 KiB
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')
|
|
|