• django 模板语言:templatetags,返回HTML代码片段


    templatetags:返回一个HTML代码片段

    使用场景:部分HTML片段被多个不用的页面使用,例如菜单栏,合作链接等,它们需要在各自的视图函数中调用相同的数据。

    使用方法:

      一、创建templatetags文件夹

      二、创建py文件,实现HTML页面调用的函数。函数接收参数在HTML页面调用时传参,返回值为装饰器中HTML页面需要渲染的数据,

        app/service/templatetags/menu.py

    from django import template
    register = template.Library()
    
    @register.inclusion_tag('men_permission.html')
    def get_menu(request):
        menu_permission_list = request.session.get('menu_permission_list')
    
        return {"menu_permission_list":menu_permission_list}

      三、创建单独存放需要返回的HTML代码片段页面,即函数装饰器中的HTML

        app/templates/men_permission.html

    <div class="list-group">
        {% for permission in menu_permission_list %}
            <a href="{{ permission.permission__urls}}" class="list-group-item">{{ permission.permission__group__title }}</a>
        {% endfor %}
    </div>

      四、在需要展示这段HTML片段的页面中调用,也可以写在母版中,因为每个页面都是固定展示的

        app/templates/show_user.html

    {% load menu %}  // 先调用py文件
                <div class="left-menu ">
                    {#                <div class="list-group">#}
                    {#                    {% for permission in menu_permission_list %}#}
                    {#                        <a href="{{ permission.permission__urls}}" class="list-group-item">{{ permission.permission__group__title }}</a>#}
                    {#                    {% endfor %}#}
                    {#                </div>#}
                    {% get_menu request %}  //使用函数并传参
    
                </div>
  • 相关阅读:
    CodeForces 733B Parade
    LeetCode 150 Evaluate Reverse Polish Notation
    LeetCode 148 Sort List
    数据库的迁移
    LeetCode 147. Insertion Sort List
    构建一个可以统计 qps 的nginx服务的Dockerfile
    各城市区号
    tkinter中menu菜单控件(十二)
    tkinter中scale拖拉改变值控件(十一)
    tkinter中spinbox递增和递减控件(十)
  • 原文地址:https://www.cnblogs.com/aizhinong/p/12402761.html
Copyright © 2020-2023  润新知