Working .env setup
This commit is contained in:
@@ -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')
|
||||
Reference in New Issue
Block a user