Python编程:Django自定义模板标签
【摘要】 在APPchart 中新建一个文件夹,和两个文件,结构如下:
templatetags/
__init__.py
mytags.py
123
mytags.py文件中自定义函数
from django import template
register = template.Library()
@register.filter
def startswith(...
在APPchart
中新建一个文件夹,和两个文件,结构如下:
templatetags/
__init__.py
mytags.py
- 1
- 2
- 3
mytags.py
文件中自定义函数
from django import template
register = template.Library()
@register.filter
def startswith(value, start):
"""
实现python中的 startswith py2中多一个unicode
""" if isinstance(value, (str, unicode)): return value.startswith(start) else: return False
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
settings.py
中添加注册
'OPTIONS': { 'context_processors': [ 'django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages', ], # 以下是新加的内容 'libraries': { "mytags": "chart.templatetags.mytags", }, },
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
html文件中使用
{% load mytags %}
{% if field|startswith:"http" %} <td><a href="{{ field }}">{{ field }}</a></td>
{% else %} <td>{{ field }}</td>
{% endif %}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
说明:
{% if field|startswith:"http" %}
相当于:
startswith(field, "http")
分别是第一个和第二个参数
注意:使用模板语言的时候|
两侧不要有空格!!!
参考
文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。
原文链接:pengshiyu.blog.csdn.net/article/details/85109873
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)