Working .env setup

This commit is contained in:
2026-08-03 10:39:19 -05:00
parent f593d16ca4
commit 2764644d8b
19 changed files with 546 additions and 66 deletions
+69 -2
View File
@@ -1,3 +1,70 @@
from django.shortcuts import render
import secrets
# Create your views here.
from django.contrib import messages
from django.contrib.auth import authenticate, login, logout
from django.contrib.auth.decorators import login_required
from django.contrib.auth.forms import AuthenticationForm, UserCreationForm
from django.shortcuts import redirect, render
from .models import ApiToken, UserProfile
def register(request):
if request.method == 'POST':
form = UserCreationForm(request.POST)
if form.is_valid():
user = form.save()
UserProfile.objects.get_or_create(user=user)
login(request, user)
messages.success(request, 'Registration successful.')
return redirect('home')
else:
form = UserCreationForm()
return render(request, 'profiles/register.html', {'form': form})
def user_login(request):
if request.method == 'POST':
form = AuthenticationForm(request, data=request.POST)
if form.is_valid():
user = form.get_user()
login(request, user)
return redirect('home')
else:
form = AuthenticationForm(request)
return render(request, 'profiles/login.html', {'form': form})
def user_logout(request):
if request.method == 'POST':
logout(request)
return redirect('home')
return redirect('home')
@login_required
def settings_page(request):
tokens = request.user.api_tokens.all()
context = {'tokens': tokens}
return render(request, 'profiles/settings.html', context)
@login_required
def token_create(request):
if request.method == 'POST':
label = request.POST.get('label', '').strip() or 'API token'
token = secrets.token_urlsafe(48)
ApiToken.objects.create(
user=request.user,
token=token,
key_prefix=token[:8],
label=label,
)
messages.success(request, 'Token created.')
return redirect('profiles:settings')
@login_required
def token_delete(request, token_id):
ApiToken.objects.filter(id=token_id, user=request.user).delete()
return redirect('profiles:settings')