adding
This commit is contained in:
+13
-3
@@ -1,13 +1,23 @@
|
||||
from django.shortcuts import get_object_or_404, render
|
||||
from django.utils import timezone
|
||||
|
||||
from .models import Article
|
||||
|
||||
|
||||
def _visible_articles():
|
||||
# published_at یعنی «از این تاریخ به بعد دیده شود» — نه فقط یک برچسبِ
|
||||
# نمایشی. همین باعث میشود بشود چند مقاله را از قبل با is_published=True
|
||||
# و published_at آینده ثبت کرد و هرکدام سرِ تاریخِ خودش خودکار ظاهر شود
|
||||
# (مثلا برای انتشار پلکانیِ هر چند روز یکبار، بدون نیاز به کرون/تسک جدا).
|
||||
return Article.objects.filter(is_published=True, published_at__lte=timezone.localdate())
|
||||
|
||||
|
||||
def article_list(request):
|
||||
articles = Article.objects.filter(is_published=True)
|
||||
articles = _visible_articles()
|
||||
return render(request, "landing/article_list.html", {"articles": articles})
|
||||
|
||||
|
||||
def article_detail(request, slug):
|
||||
article = get_object_or_404(Article, slug=slug, is_published=True)
|
||||
return render(request, "landing/article_detail.html", {"article": article})
|
||||
article = get_object_or_404(_visible_articles(), slug=slug)
|
||||
related = _visible_articles().exclude(pk=article.pk)[:3]
|
||||
return render(request, "landing/article_detail.html", {"article": article, "related": related})
|
||||
|
||||
Reference in New Issue
Block a user