【问题标题】:Django template variable does not show upDjango模板变量不显示
【发布时间】:2018-11-29 21:42:48
【问题描述】:

由于某种原因,我无法显示 category_request 的 cmets,我现在知道为什么是 smb。也许能够注意到这一点,实际上我应该工作,但我没有看到这里的错误。 据我所知,我正在使用视图中的 category_request_comment 从 category_request 中获取相关的评论对象......有什么想法吗?

模板片段:

{% for category_request_comment in category_request_comments %}
    <div class="comment">
        <p>{{ category_request_comment.content|readmore:15 }}</p>

        {% if category_request_comment.content.published_date %}
            <div class="date">
                <a>Comment by: {{ category_request_comment.author }}</a><br>
                <a>Commented at: {{ category_request_comment.published_date }}</a>
            </div>
        {% endif %}
        {% if request.user == category_request_comment.author %}
            <a class="commentoption" href="{% url 'comment_edit' pk=category_request_comment.pk %}">Edit</a><a> | </a>
            <a class="commentoption" href="{% url 'comment_delete' pk=category_request_comment.pk %}">Delete</a>
        {% endif %}
    </div>
{% endfor %}

views.py

def category_request_detail(request, pk):
    category_request = get_object_or_404(CategoryRequests, pk=pk)
    list_category_request = CategoryRequests.objects.get_queryset().filter(id=pk).order_by('-pk')
    paginator = Paginator(list_category_request, 20)
    page = request.GET.get('page')
    category_request_comment = paginator.get_page(page)
    return render(request, 'myproject/category_request_detail.html', {'category_request': category_request, 'category_request_comment': category_request_comment})

views.py(仅供参考)

def category_request_comment_new(request, pk):
    if request.method == "POST":
        form = CategoryRequestsCommentForm(request.POST)
        if form.is_valid():
            category_request = get_object_or_404(CategoryRequests, pk=pk)
            requests_comment = form.save(commit=False)
            requests_comment.author = request.user
            requests_comment.published_date = timezone.now()
            requests_comment.category_request = category_request
            requests_comment.save()
            return redirect('category_request_detail', pk=requests_comment.category_request.pk)
    else:
        form = CategoryRequestsCommentForm()
        return render(request, 'myproject/comment_new.html', {'form': form})

urls.py

url(r'^categories/requests/$', myproject_views.category_request_list, name='category_request_list'),

提前致谢

【问题讨论】:

  • 您没有传入名为category_request_comments 的上下文变量。检查您的视图功能。您的意思是添加一个“s”吗?

标签: django object templates variables


【解决方案1】:

您的模板正在寻找一个名为 category_request_comments 的对象,但您尚未向模板发送任何具有该名称的对象。

【讨论】:

  • 感谢这个小提示:D
【解决方案2】:
def category_request_detail(request, pk):
    category_request = get_object_or_404(CategoryRequests, pk=pk)
    list_comments = CategoryRequests_Comment.objects.get_queryset().filter(category_request_id=pk).order_by('-pk')
    paginator = Paginator(list_comments, 10)
    page = request.GET.get('page')
    comments = paginator.get_page(page)

    return render(request, 'myproject/category_request_detail.html', {'category_request': category_request, 'comments': comments})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-19
    • 2016-10-03
    • 1970-01-01
    • 2016-03-21
    • 2011-11-02
    • 1970-01-01
    • 2021-02-03
    • 2015-08-12
    相关资源
    最近更新 更多