Reformating posts/views.py for better readability
This commit is contained in:
@@ -1,43 +1,36 @@
|
|||||||
from django.shortcuts import render
|
from django.shortcuts import render
|
||||||
from django.http import HttpResponse, JsonResponse
|
from django.http import HttpResponse, JsonResponse
|
||||||
from collections import deque
|
from django_filters.rest_framework import DjangoFilterBackend
|
||||||
|
from django.core.cache import cache
|
||||||
|
from django.utils.text import slugify
|
||||||
|
from django.utils import timezone
|
||||||
|
|
||||||
from .models import Post, PostSerializer
|
|
||||||
from taggit.models import Tag
|
from taggit.models import Tag
|
||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from rest_framework import permissions
|
from rest_framework import permissions
|
||||||
|
|
||||||
from django_filters.rest_framework import DjangoFilterBackend
|
from .models import Post, PostSerializer
|
||||||
from django.core.cache import cache
|
|
||||||
|
|
||||||
from django.utils.text import slugify
|
from collections import deque
|
||||||
from django.utils import timezone
|
|
||||||
|
|
||||||
|
|
||||||
def get_next_dict():
|
##################
|
||||||
posts = Post.article_objects.order_by('-public_date').values('slug')
|
# RENDERED VIEWS #
|
||||||
print(posts)
|
##################
|
||||||
d = {}
|
|
||||||
print(d)
|
|
||||||
for k,v in enumerate(posts):
|
|
||||||
if k == len(posts) - 1:
|
|
||||||
break
|
|
||||||
d[v['slug']] = posts[k+1]['slug']
|
|
||||||
print(d)
|
|
||||||
return d
|
|
||||||
|
|
||||||
# Create your views here.
|
|
||||||
def index(request):
|
def index(request):
|
||||||
posts = deque(Post.objects.order_by('-public_date').all())
|
posts = deque(Post.objects.order_by('-public_date').all())
|
||||||
f = lambda p: p.tags
|
f = lambda p: p.tags
|
||||||
t = map(f, posts)
|
t = map(f, posts)
|
||||||
|
|
||||||
return render(request, 'posts/index.html', {"posts": posts, "tags_list": t})
|
return render(request, 'posts/index.html', {"posts": posts, "tags_list": t})
|
||||||
|
|
||||||
|
|
||||||
def tags(request,tag=""):
|
def tags(request,tag=""):
|
||||||
posts = deque(Post.objects.filter(tags__name=tag))
|
posts = deque(Post.objects.filter(tags__name=tag))
|
||||||
return render(request, 'posts/index.html', {"posts": posts, "tags_list": None})
|
return render(request, 'posts/index.html', {"posts": posts, "tags_list": None})
|
||||||
|
|
||||||
|
|
||||||
def show(request,id=None):
|
def show(request,id=None):
|
||||||
if id.isdigit() or id is int:
|
if id.isdigit() or id is int:
|
||||||
p = Post.objects.get(id=int(id))
|
p = Post.objects.get(id=int(id))
|
||||||
@@ -51,9 +44,15 @@ def show(request,id=None):
|
|||||||
}
|
}
|
||||||
return render(request, 'posts/show.html', context)
|
return render(request, 'posts/show.html', context)
|
||||||
|
|
||||||
# Ajax function that is called to calculate a slug from the title
|
|
||||||
def slug_calc(request):
|
|
||||||
|
|
||||||
|
###########
|
||||||
|
# HELPERS #
|
||||||
|
###########
|
||||||
|
|
||||||
|
def slug_calc(request):
|
||||||
|
"""
|
||||||
|
Ajax function that is called to calculate a slug from the title
|
||||||
|
"""
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
get = request.GET.copy()
|
get = request.GET.copy()
|
||||||
title = get['title']
|
title = get['title']
|
||||||
@@ -67,9 +66,11 @@ def slug_calc(request):
|
|||||||
|
|
||||||
return HttpResponseServerError("Requires a title field.")
|
return HttpResponseServerError("Requires a title field.")
|
||||||
|
|
||||||
# Ajax function that returns autocomplete suggestions for a given tag input
|
|
||||||
def tag_complete(request):
|
|
||||||
|
|
||||||
|
def tag_complete(request):
|
||||||
|
"""
|
||||||
|
Ajax function that returns autocomplete suggestions for a given tag input
|
||||||
|
"""
|
||||||
if request.method == "GET":
|
if request.method == "GET":
|
||||||
get = request.GET.copy()
|
get = request.GET.copy()
|
||||||
term = get['term']
|
term = get['term']
|
||||||
@@ -81,9 +82,24 @@ def tag_complete(request):
|
|||||||
tag_array.append(elem.name)
|
tag_array.append(elem.name)
|
||||||
|
|
||||||
return JsonResponse(tag_array, safe=False)
|
return JsonResponse(tag_array, safe=False)
|
||||||
|
|
||||||
return HttpResponseServerError("Requires a term field.")
|
return HttpResponseServerError("Requires a term field.")
|
||||||
|
|
||||||
|
|
||||||
|
def get_next_dict():
|
||||||
|
#TODO: Docstring
|
||||||
|
posts = Post.article_objects.order_by('-public_date').values('slug')
|
||||||
|
print(posts)
|
||||||
|
d = {}
|
||||||
|
print(d)
|
||||||
|
for k,v in enumerate(posts):
|
||||||
|
if k == len(posts) - 1:
|
||||||
|
break
|
||||||
|
d[v['slug']] = posts[k+1]['slug']
|
||||||
|
print(d)
|
||||||
|
return d
|
||||||
|
|
||||||
|
|
||||||
class PostViewSet(viewsets.ModelViewSet):
|
class PostViewSet(viewsets.ModelViewSet):
|
||||||
"""
|
"""
|
||||||
API endpoint that allows users to be viewed or edited.
|
API endpoint that allows users to be viewed or edited.
|
||||||
@@ -94,6 +110,6 @@ class PostViewSet(viewsets.ModelViewSet):
|
|||||||
filter_backends = [DjangoFilterBackend]
|
filter_backends = [DjangoFilterBackend]
|
||||||
filterset_fields = ['legacy_id', 'slug','legacy_rubrik_id']
|
filterset_fields = ['legacy_id', 'slug','legacy_rubrik_id']
|
||||||
lookup_field = 'slug'
|
lookup_field = 'slug'
|
||||||
|
|
||||||
def pre_save(self, obj):
|
def pre_save(self, obj):
|
||||||
obj.image = self.request.FILES.get('image')
|
obj.image = self.request.FILES.get('image')
|
||||||
|
|||||||
Reference in New Issue
Block a user