Я новичок во взглядах Django, и я пытаюсь получить JSON данные с разбивкой на страницы, также я хочу изменить некоторые атрибуты моих данных, например, созданный_, дать мне результат, подобный этому '2020-03- 24T22: 49: 45.956Z ', и мне нужен такой формат, как «Марс 26, 2020» (я знаю, что могу изменить формат в шаблоне, но в моем случае мне нужно изменить его в поле зрения), также мне нужно изменить что-то в содержании, я пытаюсь заставить функцию сделать это, я знаю, что есть инфраструктура отдыха, которая облегчит работу, но я не думаю, что если я установил целую инфраструктуру только для одной функции, это хорошо идея, поэтому я пытаюсь сделать один сам.
Мой снимок:
def get_posts(request):
# get all posts
posts = Post.objects.all()
# get current page and how max page of our posts
page = request.GET.get('page', 1)
pagesCount = math.ceil(posts.count() / 3)
# check the param page if is a number
if page.isdigit():
currentPage = int(page)
else:
currentPage = 1
# check if is between 1 ans max page
if currentPage > pagesCount:
currentPage = pagesCount
elif currentPage < 1:
currentPage = 1
# get posts that we need
post_list = posts[currentPage * 3 - 3: currentPage * 3]
post_list = post_list.values('id', 'title', 'content', 'thumbnail', 'category', 'slug', 'created_at', 'updated_at')
return JsonResponse({"items": { "currentPage": currentPage, "pageCount": pagesCount, "posts": list(post_list) }})
и сообщение, если вам нужна дополнительная информация:
class Post(models.Model):
"""Post object"""
title = models.CharField(max_length=255)
content = models.TextField()
created_at = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.title