Django 模板不显示html内容
TemplateSyntaxError位于/deals/amp stories,第576行的块标记无效:“else”,应为“empty”或“endfor”。您是否忘记注册或加载此标签 请求方法:获取请求 网址:Django 版本:2.2.7异常类型:TemplateSyntaxError异常值:Django 模板不显示html内容,django,Django,TemplateSyntaxError位于/deals/amp stories,第576行的块标记无效:“else”,应为“empty”或“endfor”。您是否忘记注册或加载此标签 请求方法:获取请求 网址:Django 版本:2.2.7异常类型:TemplateSyntaxError异常值: 第576行的块标记无效:“else”,应为“empty”或“endfor”。 您是否忘记注册或加载此标签 我正在尝试创建一个视图,该视图将在django中加载模板视图,我得到了上述错误 <body
第576行的块标记无效:“else”,应为“empty”或“endfor”。 您是否忘记注册或加载此标签 我正在尝试创建一个视图,该视图将在django中加载模板视图,我得到了上述错误
<body>
<!-- supports-landscape -->
{% if card_list %}
<amp-story standalone title="Best islands to visit from Guernsey" publisher="add here" publisher-logo-src="add here" poster-portrait-src="add-logo" poster-square-src="add-logo-here" poster-landscape-src="add-logo-here" supports-landscape>
{% for card in card_list %}
<amp-story-page id="slide_3" class="i-amphtml-element i-amphtml-layout-container i-amphtml-layout i-amphtml-story-page-loaded" i-amphtml-layout="container" aria-label="null" distance="0" i-amphtml-visited="" active="">
<amp-story-grid-layer template="fill" class="zoomIn i-amphtml-element i-amphtml-layout-container i-amphtml-story-layer i-amphtml-story-grid-template-fill i-amphtml-layout" i-amphtml-layout="container">
<amp-img src="{{card.card_image}}" width="1080" height="1920" class="i-amphtml-element i-amphtml-layout-fixed i-amphtml-layout-size-defined i-amphtml-layout" i-amphtml-layout="fixed" style="width: 1080px; height: 1920px; --loader-delay-offset:6ms !important;" i-amphtml-auto-lightbox-visited="">
<img decoding="async" src="{{card.card_image}}" class="i-amphtml-fill-content i-amphtml-replaced-content">
</amp-img>
</amp-story-grid-layer>
<div class="i-amphtml-story-spinner" aria-hidden="true" aria-label="Loading video">
<div class="i-amphtml-story-spinner-container">
<div class="i-amphtml-story-spinner-layer">
<div class="i-amphtml-story-spinner-circle-clipper left"></div>
<div class="i-amphtml-story-spinner-circle-clipper right"></div>
</div>
</div>
</div>
</amp-story-page>
(% endfor %)
{% else %}
<p>There are no cards in the collection.</p>
{% endif %}
</amp-story>
</body>
</html>
url.py
urlpatterns = [
path('amp-stories', StoryList.as_view(), name='ampstories'),
]
models.py
class Card(models.Model):
tag = models.ManyToManyField(CardTag)
card_name = models.CharField(max_length=200)
card_image =models.ImageField(upload_to='slides')
card_createdate = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['card_name']
def __str__(self):
return self.card_name
def slide_thumbnail(self):
return html.format_html(u'<img src="'+settings.HOSTNAME+'%s" width="100px"/>' % (self.card_image.url))
slide_thumbnail.short_description = 'Thumbnail'
分类卡(models.Model):
tag=型号。ManyToManyField(CardTag)
卡片名称=models.CharField(最大长度=200)
card\u image=models.ImageField(上传到='slides')
card\u createdate=models.DateTimeField(auto\u now=True)
类元:
订购=['卡片名称']
定义(自我):
返回self.card\u名称
def幻灯片缩略图(自身):
返回html.format_html(u'%(self.card_image.url))
幻灯片\缩略图。简短\说明='缩略图'
您在模板中编写了(%endfor%)
而不是{%endfor%}
。通过使用圆括号((…%)
)而不是花括号({%…%}
),模板引擎不会将其视为模板标记,因此您仍然在{%for…%}
标记中
因此,您应该重写模板以使用
{%endfor%}
而不是(%endfor%)
您编写的(%endfor%)
而不是{%endfor%}
,因此模板引擎无法理解您关闭了{%for…%}
loop.Hi@WillemVanOnsem即使这样,我也得到了同样的结果error@ichtyocentaurs:在此之后是否重新启动了Web服务器?是的。还是一样error@ichthyoncentaurs:你能用更新后的模板回答这个问题吗?这是完整的模板吗?
class Card(models.Model):
tag = models.ManyToManyField(CardTag)
card_name = models.CharField(max_length=200)
card_image =models.ImageField(upload_to='slides')
card_createdate = models.DateTimeField(auto_now=True)
class Meta:
ordering = ['card_name']
def __str__(self):
return self.card_name
def slide_thumbnail(self):
return html.format_html(u'<img src="'+settings.HOSTNAME+'%s" width="100px"/>' % (self.card_image.url))
slide_thumbnail.short_description = 'Thumbnail'