diff options
| author | Bobby <[email protected]> | 2023-06-11 19:02:56 -0400 |
|---|---|---|
| committer | Bobby <[email protected]> | 2023-06-11 19:02:56 -0400 |
| commit | 114460370c2613ea103b6eb709b3ea076d045bc9 (patch) | |
| tree | 4c8880f06f1bc688ee8dc33a71279afe2abb75f6 /blog_admin | |
| parent | 9ec43e3db2ee50be54bf2cb27da3266f697af850 (diff) | |
| download | thatcomputerscientist-114460370c2613ea103b6eb709b3ea076d045bc9.tar.xz thatcomputerscientist-114460370c2613ea103b6eb709b3ea076d045bc9.zip | |
Admin area improvements and comments management
Diffstat (limited to 'blog_admin')
| -rw-r--r-- | blog_admin/urls.py | 1 | ||||
| -rw-r--r-- | blog_admin/views.py | 34 |
2 files changed, 26 insertions, 9 deletions
diff --git a/blog_admin/urls.py b/blog_admin/urls.py index 9b02fa89..251ebc35 100644 --- a/blog_admin/urls.py +++ b/blog_admin/urls.py @@ -10,4 +10,5 @@ urlpatterns = [ path('/posts/<str:slug>/edit', views.edit_post, name='edit-post'), path('/posts/<str:slug>/publish', views.publish_post, name='publish-post'), path('/posts/<str:slug>/unpublish', views.unpublish_post, name='unpublish-post'), + path('/comments', views.comments, name='comments'), ]
\ No newline at end of file diff --git a/blog_admin/views.py b/blog_admin/views.py index bd4f9dc2..c552db05 100644 --- a/blog_admin/views.py +++ b/blog_admin/views.py @@ -4,23 +4,39 @@ from datetime import datetime from django.contrib import messages from django.http import HttpResponseRedirect from django.shortcuts import redirect, render, reverse - -from blog.models import Category, Post, Tag -from ignis.models import CoverImage +from django.core.paginator import Paginator +from blog.models import Category, Post, Tag, Comment # Create your views here. def posts(request): if request.user.is_authenticated and (request.user.is_superuser or request.user.is_staff): page = request.GET.get('page') if request.GET.get('page') else 1 + posts = Post.objects.all().order_by('-date') + posts = Paginator(posts, 50) + num_pages = posts.num_pages try: - page = int(page) + posts = posts.page(page) except: - page = 1 - posts = Post.objects.all().order_by('-date')[50 * (page - 1):50 * page] - num_pages = Post.objects.all().count() // 50 + 1 - url_to_render = 'blog_admin/posts.html?page={}'.format(page) if int(page) and int(page) > 1 else 'blog_admin/posts.html' - return render(request, url_to_render, { 'title': 'Manage Posts', 'posts': posts, 'num_pages': num_pages, 'page': page }) + posts = posts.page(num_pages) + + return render(request, 'blog_admin/posts.html', { 'title': 'Manage Posts', 'posts': posts, 'num_pages': num_pages, 'page': page }) + else: + return redirect('blog:home') + +def comments(request): + if request.user.is_authenticated and (request.user.is_superuser or request.user.is_staff): + page = request.GET.get('page') if request.GET.get('page') else 1 + comments = Comment.objects.all().order_by('-created_at') + comments = Paginator(comments, 50) + num_pages = comments.num_pages + try: + comments = comments.page(page) + except: + comments = comments.page(num_pages) + + return render(request, 'blog_admin/comments.html', { 'title': 'Manage Comments', 'comments': comments, 'num_pages': num_pages, 'page': page }) + else: return redirect('blog:home') |
