django tag

官方文档:https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/#simple-tags

stackoverflow demo:http://stackoverflow.com/questions/6451304/django-simple-custom-template-tag-example

我的demo:

# -*- coding:utf-8 -*-
from django import template

register = template.Library()
@register.simple_tag
def one_of(target, *matchlist):
    return target in matchlist

动机:django模板中in关键字的实现

碰到的问题:自定义的tag模块无法加载,解决方案参考:http://stackoverflow.com/questions/5493776/django-current-tags-is-not-a-valid-tag-library

  即:   

  1. 检查installed_app是否有这个模块

  2. 检查有没有语法错误。 通过python manage.py shell 导入相关的函数(one_of),并执行。

     3. 检查该模块的是否在tag实际被引用的模块前面(installed_app里面)。我的问题就卡这里。

     4. 其他, 删掉pyc文件、重启服务等等。

 

使用:xxx.html

  

{% load my_tags %}
{% one_of 'taget', 'aaa','bbb','ccc','ddd', 'target' as is_in %}
{% if is_in %}
   xxxx
{% endif %}

 

  

 

转载于:https://www.cnblogs.com/Tommy-Yu/p/6207176.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值