Python Django-从侧栏中排除当前立柱
我正在玩Django,但我的模板有问题。在我的文章详细信息中,包括模板标记中的最近文章侧栏,但如果当前文章实际上是最新的,我想将其排除在外。我最初的希望是在blog_标签中使用.exclude(id__post_detail=post),但我认为我可能遗漏了一个重要的概念,我是否需要请求post_detail返回其响应,然后我就可以这样做?或者在视图中定义查询,然后将其调用到blog_标记 非常感谢 1.blog_tags.pyPython Django-从侧栏中排除当前立柱,python,django,Python,Django,我正在玩Django,但我的模板有问题。在我的文章详细信息中,包括模板标记中的最近文章侧栏,但如果当前文章实际上是最新的,我想将其排除在外。我最初的希望是在blog_标签中使用.exclude(id__post_detail=post),但我认为我可能遗漏了一个重要的概念,我是否需要请求post_detail返回其响应,然后我就可以这样做?或者在视图中定义查询,然后将其调用到blog_标记 非常感谢 1.blog_tags.py from django import template regi
from django import template
register = template.Library()
from django.db import models
from django.utils import timezone
from ..models import Post
@register.inclusion_tag('blog/sidebar.html')
def sidebar_latest(request, count=5):
latest_posts= Post.objects.filter(published_date__lte=timezone.now()).order_by('-published_date')[:count]
return {'latest_posts': latest_posts}
def post_detail(request, pk):
post = get_object_or_404(Post, pk=pk)
return render(request, 'blog/post_detail.html', {'post': post})
{% extends 'blog/base.html' %}
{% load blog_tags %}
{% block content %}
<div class="col-sm-12 col-md-9">
<div class="post">
<h1>{{ post.title }}</h1>
{% if post.published_date %}
<div class="date">
{{ post.published_date }}
</div>
{% endif %}
<p>{{ post.text|linebreaksbr }}</p>
</div>
</div>
<div class="col-sm-12 col-md-3">
{% sidebar_latest 3 %}
</div>
{% endblock %}
{%extends'blog/base.html%}
{%load blog_tags%}
{%block content%}
{{post.title}}
{%if post.published_date%}
{{post.published_date}
{%endif%}
{{post.text | linebreaksbr}}
{%sidebar_最新3%}
{%endblock%}
def sidebar_latest(request,count=5,**kwargs):尝试在函数中打印kwargs,并在转到详细信息页面时检查当前帖子的帖子id是否显示。这让我开始了一段有趣的阅读路线,但不幸的是没有回答我的问题。我还没有说这将是答案,我只是问你是否得到了当前帖子的id?如果你得到了它,那么过滤就可以完成了。你把kwargs放在模板过滤功能中了吗??然后在函数的第一行打印(kwargs)并转到post详细信息页面,检查终端中为kwargs打印的内容,并首先输出她的post使函数像ef侧边栏一样最新(请求,计数=5,**kwargs)def侧边栏最新(请求,计数=5,**kwargs):并尝试在函数内打印kwargs,当你进入详细信息页面时,请检查当前帖子的帖子id是否显示。该页面引导我进行有趣的阅读,但不幸的是没有回答我的问题。我没有说这将是答案,我只是问你是否获得当前帖子的id?如果你得到了它,那么过滤就可以完成了。你把kwargs放在模板过滤功能中了吗??然后在函数的第一行打印(kwargs)并转到post详细信息页面,检查终端中为kwargs打印的内容,并在输出她的post\e第一次将函数设置为最新的ef侧边栏(请求,计数=5,**kwargs)