从djang中的类加载模板内容时出现问题

2024-06-10 23:38:00 发布

您现在位置:Python中文网/ 问答频道 /正文

article.html正在显示{% block homeblock %}但所有

{{entertainment.'suffix'}}中的{% block articlecontent %}内容未被删除

显示。我不明白为什么它在这个块中不工作,而在所有其他块中工作

这是我的views.py

from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from entertainment.models import Entertainmentblog

class ListView(generic.ListView):
   template_name = 'entertainment/index.html'
   context_object_name = 'latest_article_list'
   slug = None
   id = None

def get_queryset(self):
   return Entertainmentblog.objects.order_by('-posted')[:25]

class LatestArticleMixin(object):

def get_context_data(self, **kwargs):
    context = super(LatestArticleMixin, self).get_context_data(**kwargs)
    try:
        context['latest_article_list'] = Entertainmentblog.objects.order_by('-posted')[:25]
    except:
        pass
    return context  


class DetailView(LatestArticleMixin, generic.DetailView):
    model = Entertainmentblog
    template_name = 'entertainment/article.html'

这是我的模板article.html

{% extends "articlebase.html" %}

{% block articlecontent %}
{% if error_message %}<p><strong>{{ error_message }}</strong></p>
{% else %}
<div id="art-title">
<h1 class="art-title-main">{{ entertainment.title1 }}</h1>
</div>
<div class="date_time_header"><p>{{entertainment.posted}}<p></div>

<div class="articleBody" ><img src="/static/images/rf.jpg" alt="RF"  >
<div class="article-text">
{{ entertainment.body}}
{% endif %}
</div>
</div>
{% endblock %}

{% block homeblock %}
{% include "entertainment/article-index.html" %}
{% endblock %}

这是articlebase.html文件

<html lang="en">
<head></head>
<body>
{% block articlecontent %}{% endblock %}

<div class="articles">
<div class="container-more">
<h2 class="title">More</h2>
</div>
{% block homeblock %}{% endblock %}
</div>
</body>
</html>

我的问题是article.html正在显示{% block homeblock %}但是所有

{{entertainment.'suffix'}}中的{% block articlecontent %}内容未被删除

显示。由于img标记而显示图像,但文章的其余部分除外

不是,帮帮忙


Tags: djangofromimportdivgethtmlcontextarticle
1条回答
网友
1楼 · 发布于 2024-06-10 23:38:00

我认为您没有将entertainment传递到上下文中。DetailView使用object作为模板中对象的名称。使用object而不是模板中的entertainment,或者将DetailView类上的context_object_name属性设置为值“entertainment”

相关问题 更多 >