Ejemplo n.º 1
0
def article(request, slug, template="post.html"):
    categories = Category.objects.all().order_by("name")
    tags = Tag.objects.all().order_by("name")
    post = get_object_or_404(Post.objects.select_related("user"), slug=slug)
    if not post.is_active and post.user != request.user:
        if not request.user.is_staff:
            raise Http404
    posts = Post.objects.all().exclude(pk=post.pk).order_by("?")[:3]
    category = post.category.all()
    tag = post.tag.all()
    uri = request.build_absolute_uri()
    is_editable = post.user == request.user
    return render(
        request,
        template,
        {
            "facebook_count": get_count("facebook", uri),
            "twitter_count": get_count("twitter", uri),
            "categories": categories,
            "category": category,
            "posts": posts,
            "post": post,
            "tags": tags,
            "tag": tag,
            "is_editable": is_editable,
        },
    )
Ejemplo n.º 2
0
def articles(request, template="index.html"):
    tags = Tag.objects.all().order_by("name")
    categories = Category.objects.all().order_by("name")
    posts = Post.objects.filter(is_active=True).order_by("-date")
    last_post = posts[0] if posts else None
    if last_post:
        last_post_uri = request.build_absolute_uri(reverse("detail", args=(last_post.slug,)))
        last_post_facebook_count = get_count("facebook", last_post_uri)
        last_post_twitter_count = get_count("twitter", last_post_uri)
    else:
        last_post_facebook_count = None
        last_post_twitter_count = None
    return render(
        request,
        template,
        {
            "tags": tags,
            "categories": categories,
            "posts": posts,
            "last_post": last_post,
            "last_post_facebook_count": last_post_facebook_count,
            "last_post_twitter_count": last_post_twitter_count,
        },
    )