首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与django中的模板混淆

与django中的模板混淆
EN

Stack Overflow用户
提问于 2020-07-02 19:34:58
回答 3查看 28关注 0票数 1

我正在学习django,我有以下模板:

代码语言:javascript
复制
{% load static ax_base %}
{% for tm in team_list %}
<div>

    <div class="card our-team-slider-card mb-3">
        <div class="row no-gutters">
            <div class="col-sm-4">
                <a href="" class="card-img-wrap" data-toggle="modal"
                   data-target=".our-team-photo">
                    <img src="{% static tm.img %}"
                         class="card-img" alt="...">
                </a>
            </div>
            <div class="col-sm-8">
                <div class="card-body">
                    <h5 class="card-title mb-4">{{ tm.name }}</h5>
                    <div class="profession mb-4 fz14 opa05">{{ tm.position }}</div>
                    <p class="card-text fz14 opa05">{{ tm.bio }}</p>
                    <div class="contacts mb-2">
                        <a href=""
                           class="styled-link text-black">{{ tm.phone }}</a><span> , </span><a
                            href="" class="styled-link text-black">{{ tm.email }}</a>
                    </div>
                    <a href="" class="styled-link text-primary">Send message</a>
                </div>
            </div>
        </div>
    </div>

</div>
{% endfor %}

所以,问题是我有两个地方重用了上面的模板,但我想做的是在一个地方使用col sm-4类,而不是在另一个地方使用col sm-4。我是否应该为此创建两个独立的模板,即一个使用col sm-4的模板,另一个不使用col sm-4的模板?这是正确的吗?

EN

回答 3

Stack Overflow用户

发布于 2020-07-02 19:40:13

代码语言:javascript
复制
{% load static ax_base %}
{% for tm in team_list %}
<div>

    <div class="card our-team-slider-card mb-3">
        <div class="row no-gutters">
            {% if not hide %}
            <div class="col-sm-4">
                <a href="" class="card-img-wrap" data-toggle="modal"
                   data-target=".our-team-photo">
                    <img src="{% static tm.img %}"
                         class="card-img" alt="...">
                </a>
            </div>
            {% endif %}
            <div class="col-sm-8">
                <div class="card-body">
                    <h5 class="card-title mb-4">{{ tm.name }}</h5>
                    <div class="profession mb-4 fz14 opa05">{{ tm.position }}</div>
                    <p class="card-text fz14 opa05">{{ tm.bio }}</p>
                    <div class="contacts mb-2">
                        <a href=""
                           class="styled-link text-black">{{ tm.phone }}</a><span> , </span><a
                            href="" class="styled-link text-black">{{ tm.email }}</a>
                    </div>
                    <a href="" class="styled-link text-primary">Send message</a>
                </div>
            </div>
        </div>
    </div>

</div>
{% endfor %}
票数 1
EN

Stack Overflow用户

发布于 2020-07-02 19:41:27

当你用{% static tm.img %}传递图片的时候,我猜你错了,最好把它改成{{ tm.img }}

代码语言:javascript
复制
{% load static ax_base %}
{% for tm in team_list %}
<div>

    <div class="card our-team-slider-card mb-3">
        <div class="row no-gutters">
            <div class="col-sm-4">
                <a href="" class="card-img-wrap" data-toggle="modal"
                   data-target=".our-team-photo">
                    <img src="{{ tm.img }}"
                         class="card-img" alt="...">
                </a>
            </div>
            <div class="col-sm-8">
                <div class="card-body">
                    <h5 class="card-title mb-4">{{ tm.name }}</h5>
                    <div class="profession mb-4 fz14 opa05">{{ tm.position }}</div>
                    <p class="card-text fz14 opa05">{{ tm.bio }}</p>
                    <div class="contacts mb-2">
                        <a href=""
                           class="styled-link text-black">{{ tm.phone }}</a><span> , </span><a>
                            href="" class="styled-link text-black">{{ tm.email }}</a>
                    </div>
                    <a href="" class="styled-link text-primary">Send message</a>
                </div>
            </div>
        </div>
    </div>

</div>
{% endfor %}
票数 0
EN

Stack Overflow用户

发布于 2020-07-02 19:46:16

您只需在render context dict中传递一个变量,并将其用于有条件显示的块:

代码语言:javascript
复制
{% if show_photo %}
<div class="col-sm-4">
...
</div>
{% endif %}

如果它是您想要或不想使用的实际类,也可以使用完全相同的语法来处理它:

代码语言:javascript
复制
<div class="{% if use_sm_4 %} col-sm-4 {% else %} some-other-class {% endif %}">
...
</div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62695465

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档