模板包括和 django 视图/网址.他们如何(做/应该)工作?

2022-01-25 00:00:00 python django include templates

问题描述

我有一个迷你框,当悬停时会弹出以显示个人资料信息(一直隐藏).由于模板包括:

I have a mini box that pops up when hovered to reveal profile information(constantly being hidden). It's working due to a template include:

{% for i in leftbar_network|slice:":12" %}
     {% include "includes/mini_profile.html" %} 
{% endfor %}

但我想添加一些条件并提取其他信息……例如:检查它们是否可以发送消息.拉那个特定的个人资料朋友数.. yadda yadda.我有一个应该可以工作的网址和视图.但似乎它们被完全忽略了.

But I want to add some conditions and pull other information... for instance: check if they can be messaged. pull that specific profiles friend count.. yadda yadda. I have a url and view that should work. But it seems as though they're being completely ignored.

模板:

<div class="mini-profile">
    <div class="mini-profile-top">
        <a href="/profile/{{i.get_type|lower}}/{{ i.user.username }}/" data-title="{{ i.user.get_full_name }}" data-content="{{i.get_type}}">
            <img class="img-frame" width="90" height="90" src="{% if i.avatar %}{% thumbnail i.avatar 120x120 crop %}{% else %}{{ DEFAULT_AVATAR }}{% endif %}" alt="{{ i.user.get_full_name }}" />
        </a>
        <a href="/profile/{{i.get_type|lower}}/{{ i.user.username }}/" data-title="{{ i.user.get_full_name }}" data-content="{{i.get_type}}">{{ i.user.get_full_name }}</a>
        <div>{{ i.get_type }}</div>
    </div>
    <div class="mini-profile-bottom">
        {% if can_message %}
        <form method="GET" action="/messages/compose/{{ i.get_type|lower }}/{{ i.user.username }}/">
            <button class="btn btn-margin" type="submit">
                <i class="icon-envelope"></i> Message
            </button>
        </form>
        {% else %}
        <button class="btn btn-margin tooltip-bottom disabled" title="You need to be connected to message {{profile.user.get_full_name}}" type="submit">
            <i class="icon-envelope"></i> Message
        </button>
        {% endif %}
    </div>
</div>

有什么方法可以使用 {% include %} 并围绕它生成视图?还是我走错了路?如果是这样,我应该如何生成一个带有平滑弹出视图和url的迷你框?

Is there any way to work with the {% include %} and generate a view around that? Or have I gone about this the wrong way? If so, how should I generate a mini box with a view and url that pops up smoothly?

示例:Google 聊天,当鼠标悬停在用户上时.

Example: Google chat, when hovering over a user.

提前感谢您的建议.


解决方案

我想添加一些条件并提取其他信息...实例:检查是否可以向他们发送消息.拉出特定的配置文件好友数

I want to add some conditions and pull other information... for instance: check if they can be messaged. pull that specific profiles friend count

听起来您正在寻找模板标签,对于 包含标签,更具体一点.

Sounds like your are looking for a template tag, for an inclusion tag, to be more specific.

因此,您可以将 (python/view) 逻辑放入您的标签中,并呈现与您的包含类似的适当 html.

So you can put the (python/view) logic in your tag and render the appropiate html similiar to your include.

相关文章