zoukankan      html  css  js  c++  java
  • django的inclusion_tag的使用

    1. 在已注册的app下创建一个templatetags的文件夹

    2. 在templatetags下创建一个py文件

    from django.template import Library
    from wed import models
    
    register = Library()
    
    
    @register.inclusion_tag('inclusion/all_project_list.html')
    def all_project_list(request):
    
        my_project_list = models.Project.objects.filter(creator=request.tracer.user)
        join_project_list = models.ProjectUser.objects.filter(user=request.tracer.user)
    
        return {'my': my_project_list, 'join': join_project_list, 'request':request}
    templaytetags/project.py

    3. 新建一个html文件  符合第2步中的路径要求

    4. 在html文件中写逻辑

    <li class="dropdown active">
        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
           aria-expanded="false">项目
        </a>
    
        <ul class="dropdown-menu">
            {% if my %}
                <li><i class="fa fa-list" aria-hidden="true"></i> 我创建的项目</li>
                {% for item in my %}
                    <li><a href="#">{{ item.name }}</a></li>
                {% endfor %}
                <li role="separator" class="divider"></li>
            {% endif %}
    
            {% if join %}
                <li><i class="fa fa-handshake-o" aria-hidden="true"></i> 我参与的项目</li>
                {% for item in join %}
                    <li><a href="#">{{ item.project.name }}</a></li>
                {% endfor %}
                <li role="separator" class="divider"></li>
            {% endif %}
            <li><a href="{% url 'project_list' %}">所有项目</a></li>
        </ul>
    </li>
    all_project_list.html

    5. 在母版中使用

    {% load project %}
    
    {% all_project_list request %}
  • 相关阅读:
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    CSS日食与太阳碰撞
    页面的禁止事件(如:禁止鼠标右键)
    如何让checkbox复选框只能单选
    动态表单模块生成器参考
  • 原文地址:https://www.cnblogs.com/a438842265/p/12567657.html
Copyright © 2011-2022 走看看