Django 无法在if条件内分析{{blog.content}}

Django 无法在if条件内分析{{blog.content}},django,django-models,django-templates,Django,Django Models,Django Templates,我做了一个博客网站,我试图呈现我所有的帖子。我截短了内容超过500个字母的帖子,并添加了一个ReadMore锚标签。 我希望阅读更多的锚标签来只有当我的内容大于500作品 我写了这句话,但没用: {% for blog in blogs %} <div class="card-body d-flex flex-column align-items-start"> <strong class="d-inline-block m

我做了一个博客网站,我试图呈现我所有的帖子。我截短了内容超过500个字母的帖子,并添加了一个ReadMore锚标签。 我希望阅读更多的锚标签来只有当我的内容大于500作品 我写了这句话,但没用:

   {% for blog in blogs %}
<div class="card-body d-flex flex-column align-items-start">

        <strong class="d-inline-block mb-2 text-success">{{blog.author}}</strong>
        <h3 class="mb-0">
            <a class="text-dark" href="/blog/{{blog.slug}}">{{blog.title}}</a>
        </h3>
        <div class="mb-1 text-muted">{{blog.timeStamp}}</div>
        <p class="card-text mb-auto">{{blog.content | truncatechars:500 }}</p>
        {% if len({{blog.content) >500 %}
        <a href="/blog/{{blog.slug}}">Continue reading</a>
        {% endif %}
</div>
{% endfor %}
{%用于博客中的博客%}
{{blog.author}
{{blog.timeStamp}

{{blog.content | truncatechars:500}

{%if len({{blog.content)>500%} {%endif%} {%endfor%}

有人能帮我用什么来代替这个代码吗?

您的代码中有一个语法错误,因为在
{%if len({{blog.content)>500%}
中,您没有关闭
{
括号

但是,您不必在
{%}
标记中引用带有
{{}
的变量。它们都有单独的用途

针对特定问题的正确代码是:

{% if len(blog.content) > 500 %}
    <a href="/blog/{{blog.slug}}">Continue reading</a>
{% endif %}
{%if len(blog.content)>500%}
{%endif%}
对于不同的标记,一个用于在模板中包含变量:
{{{variable\u here}}

另一个用于逻辑:
{%if条件==True%}条件为True

{%endif%}

在逻辑标记中,可以按原样引用变量


文档中有更多关于这方面的内容。

您可以尝试以下方法吗:

{% if blog.content|length > 500 %}

因为我不确定len是否可以在模板中使用

您使用的是
for
标记而不是
if
标记。for标记用于循环元素列表而不是条件。很抱歉,如果在我的codeCan中显示其余模板的样子,这是我写的一个键入错误。请包括您的
张贴
型号。好的,请重新检查
    {% if blog.content|length > 500 %}