• django中的inclusion_tag配置和实现


     1 ###
     2 在settings.py中设置libraries
     3 ###
     4 TEMPLATES = [
     5     {
     6         'BACKEND': 'django.template.backends.django.DjangoTemplates',
     7         'DIRS': [os.path.join(BASE_DIR, 'templates')],
     8         'APP_DIRS': True,
     9         'OPTIONS': {
    10             'context_processors': [
    11                 'django.template.context_processors.debug',
    12                 'django.template.context_processors.request',
    13                 'django.contrib.auth.context_processors.auth',
    14                 'django.contrib.messages.context_processors.messages',
    15             ],
    16             'libraries':{
    17                 "manage_menu_list": "mac.templatetags.inclusion_tag_mac",
    18                  自定的tag函数       自定的tag函数的所在文件路径
    19             },
    20         },
    21     },
    22 ]
    23 
    24 
    25 
    26 ###
    27 "mac.templatetags.inclusion_tag_mac"文件下自定的tag函数
    28 ###
    29 from django.template import Library
    30 from django.urls import reverse
    31 register = Library()
    32 
    33                             标签动态渲染
    34 @register.inclusion_tag('manage_menu_list.html')
    35 def manage_menu_list(request):
    36     data_list = [
    37         {'title': '首页', 'url': reverse('mac_home')},
    38         {'title': '生成MAC', 'url': reverse('input_mac')},
    39         {'title': 'MAC下载', 'url': reverse('download_details')},
    40     ]
    41     for item in data_list:
    42         if request.path_info == item['url']:
    43             item['class'] = 'active'
    44     return {'data_list': data_list}
    45     
    46 ###
    47 在其他模板中首先导入文件inclusion_tag_mac
    48 ###    
    49 {% load inclusion_tag_mac %}
    50 ....
    51 {% manage_menu_list request %}
    52 ....
  • 相关阅读:
    阿里数据中台底座的12年建设实践
    淘宝小部件:全新的开放卡片技术!
    判断QQ是否在线
    Linux消息队列应用
    轻松学习Linux之如何创建可执行脚本
    JAVA多线程学习笔记
    轻松学习Linux之Shell文件和目录属性详解
    Firefox必备的24款web开发插件
    数论+图论+map——cf1323E
    【codevs1116】四色问题
  • 原文地址:https://www.cnblogs.com/xiongfanyong/p/12978550.html
Copyright © 2020-2023  润新知