92 lines
2.5 KiB
Python
92 lines
2.5 KiB
Python
from django.shortcuts import render, redirect
|
|
from django.contrib import messages
|
|
from django.contrib.auth.decorators import login_required
|
|
from .forms import UserRegisterForm
|
|
from blog.models import *
|
|
from .models import *
|
|
from django.views.generic import *
|
|
|
|
|
|
# Create your views here.
|
|
# def users(request):
|
|
# return render(request, 'users/users.html', {'title': 'Users'})
|
|
|
|
def getFromArr(arr, indices, *args, **kwargs):
|
|
x = []
|
|
for i in indices:
|
|
x.append(arr[i])
|
|
return x
|
|
|
|
|
|
@login_required
|
|
def profile(request, *args, **kwargs):
|
|
try:
|
|
user = User._default_manager.all()[kwargs['pk'] - 1]
|
|
except:
|
|
user = request.user
|
|
print(user.id)
|
|
|
|
allow_empty = True
|
|
queryset = None
|
|
model = Post
|
|
paginate_by = None
|
|
paginate_orphans = 0
|
|
context_object_name = 'posts'
|
|
ordering = ['-date_posted']
|
|
|
|
if queryset is not None:
|
|
queryset = queryset
|
|
if isinstance(queryset, QuerySet):
|
|
queryset = queryset.all()
|
|
elif model is not None:
|
|
queryset = model._default_manager.all()
|
|
else:
|
|
raise ImproperlyConfigured(
|
|
"%(cls)s is missing a QuerySet. Define "
|
|
"%(cls)s.model, %(cls)s.queryset, or override "
|
|
"%(cls)s.get_queryset()." % {"cls": self.__class__.__name__}
|
|
)
|
|
|
|
if ordering:
|
|
if isinstance(ordering, str):
|
|
ordering = (ordering,)
|
|
queryset = queryset.order_by(*ordering)
|
|
|
|
return render(request, 'users/profile.html', {'title': 'Profile', 'profileUser': user, context_object_name: queryset})
|
|
|
|
|
|
def people(request):
|
|
return render(request, 'users/people.html', {'title': 'People', 'users': User._default_manager.all()})
|
|
|
|
|
|
users = {
|
|
'user': User.objects.all()
|
|
}
|
|
|
|
|
|
class UserListView(ListView):
|
|
model = User
|
|
template_name = 'users/people.html'
|
|
context_object_name = 'users'
|
|
|
|
|
|
def explore(request):
|
|
return render(request, 'users/explore.html', {'title': 'Explore'})
|
|
|
|
|
|
def login(request):
|
|
return render(request, 'users/login.html', {'title': 'Login'})
|
|
|
|
|
|
def register(request):
|
|
if request.method == 'POST':
|
|
form = UserRegisterForm(request.POST)
|
|
if form.is_valid():
|
|
form.save()
|
|
username = form.cleaned_data.get('username')
|
|
messages.success(request, f'{username}! Your account has been created.')
|
|
return redirect('Login')
|
|
else:
|
|
form = UserRegisterForm()
|
|
return render(request, 'users/register.html', {'title': 'Register', 'form': form})
|