zoukankan      html  css  js  c++  java
  • inclusion_tag 组件

    {% for item in data %}
        <li {% if item.class %} class="{{ item.class }}" {% endif %}>
    
            <a href="{{ item.url }}" > {{ item.name }} </a>
        </li>
    {% endfor %}
    menu_list.html
        <li class="dropdown active">
            <a href="#" class="active dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true"
               aria-expanded="false">项目{% if request.tracer.project %}({{ request.tracer.project.name }}){% endif %} <span class="caret"></span></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="{% url "dashboard" project_id=item.id %}">{{ 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="{% url "dashboard" project_id=item.project.id %}">{{ 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
    from django import template
    from web import models
    from django.urls import reverse
    
    register = template.Library()
    
    @register.inclusion_tag("inclusion/all_project_list.html")
    def all_project_list(request):
        user_obj = request.tracer.user
        # 获取项目列表
        my_project = models.Project.objects.filter(creater=user_obj).all()
    
        join_project = models.ProjectUser.objects.filter(user=user_obj).all()
    
        return {"my":my_project,"join":join_project,"request":request}
    
    @register.inclusion_tag("inclusion/menu_list.html")
    def menu_list(request):
        project_id = request.tracer.project.id
        data = [
            {"name":"概览","url":reverse("dashboard",kwargs={"project_id":project_id})},
            {"name":"wiki","url":reverse("wiki",kwargs={"project_id":project_id})},
            {"name":"统计","url":reverse("statistics",kwargs={"project_id":project_id})},
            {"name":"问题","url":reverse("issues",kwargs={"project_id":project_id})},
            {"name":"文件","url":reverse("file",kwargs={"project_id":project_id})},
            {"name":"设置","url":reverse("setting",kwargs={"project_id":project_id})},
        ]
    
        #如果选中该url,则添加类active
        for item in data:
            if request.path_info.startswith(item.get("url")):
                item["class"]="active"
    
        return {"data":data}
    project.py
    {% load project %}

    {% all_project_list request %} {% menu_list request %}
  • 相关阅读:
    Android性能调优实例
    Android移动端网络优化
    性能优化之Java(Android)代码优化
    Android性能优化之布局优化
    Android性能优化之数据库优化
    Android性能优化系列总篇
    ViewGroup的事件分发机制
    Apk大瘦身
    不安装APK直接启动应用
    Intent详解
  • 原文地址:https://www.cnblogs.com/hude/p/12826071.html
Copyright © 2011-2022 走看看