{{ post.title }}
{{ post.content|truncatewords:50 }}
نویسنده: {{ post.author.username }} | تاریخ: {{ post.created_at|date:"Y/m/d" }}حالا وقتشه که اولین صفحه واقعی سایت رو بسازیم! این صفحه دادهها رو از دیتابیس میگیره و در تمپلیت نمایش میده.
# blog/views.py
from django.shortcuts import render
from .models import Post
def home(request):
posts = Post.objects.filter(published=True)[:5]
context = {
'posts': posts,
'title': 'صفحه اصلی'
}
return render(request, 'blog/home.html', context)
حالا تمپلیت رو میسازیم:
آخرین پستها
{% for post in posts %}
{{ post.title }}
{{ post.content|truncatewords:50 }}
نویسنده: {{ post.author.username }} | تاریخ: {{ post.created_at|date:"Y/m/d" }}
{% empty %}
هنوز پستی منتشر نشده است.
{% endfor %}
یک ویو و تمپلیت برای نمایش لیست دستهبندیها بسازید. هر دستهبندی باید نام و تعداد پستهای اون نمایش داده بشه.
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
یک ویو و تمپلیت برای نمایش لیست دستهبندیها بسازید:
category_list رو بنویسید که تمام دستهبندیها رو بگیرهfrom django.shortcuts import render
from django.db.models import Count
from .models import Category, Post
def category_list(request):
# گرفتن دستهبندیها با تعداد پستها
categories = Category.objects.annotate(
post_count=Count('post')
).order_by('-post_count')
context = {
'categories': categories
}
return render(request, 'blog/category_list.html', context)
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.