定制Django的Tag和Filter(一)】的更多相关文章

1.Django的tag常见的标签,可以做一些简单的功能 {%if%} 的使用主要用于做判断,还可以包含{%elif%} 这样的用法,最后要跟上{% endif %}.可以使用你的and,or,not来组织的逻辑.但不允许and和or同时出现在条件语句中. {% for i in li %}的使用,用于循环,后面加上{% endfor %} {% load %}: 加载标签库,很常用 {% url %}:  引用路由urls配置的地址 {% with %}:用更简单的变量名替代复杂的变量名 {%…
Django(模板语言-自定义filter和simple_tag)   filter过滤器的主要形式:变量|函数,意思是将变量交给函数处理,而自定义filter就是自己定义函数,因为用到已有的很少. a.在app中创建templatetags模块(必须的) b.在templatetags中创建.py文件,如my_tags.py from django import template from django.utils.safestring import mark_safe register =…
Django的文档里面有这么一句 The app that contains the custom tags must be in INSTALLED_APPS  in order for the {% load %} tag to work. 当第一次load一个template的时候,调用源码 def get_templatetags_modules(): """ Return the list of all available template tag modules.…
1.Django自带的过滤器filter views.py中代码 def template_tags(request): import datetime content = '三胖content三胖contentSBcontentsbcontentcontentcontentcontentcontent' title = 'tiTLe' stus = ['xiaohei', 'xiaobai', 'lhy'] info = {"money":9999} cur_date = datet…
简述:django 在views中有数据需要通过字典(dict)的方式传递给template,该字典中又包含了字典,而且字典中的键值还是一个对象,在template中处理传递过来的数据的时候,字典不能通过键值的方式取出原有数据,对象不能通过(.)的方式直接取出数据,通过大量地查阅资料,最终通过过滤器(filter)的方式解决! 1.需要传递到template的数据,在 views.py 中的index函数中 latest_article_list 是一个Article对象的列表,包含文章ID.作…
看文档templatetag 直接放在app下的templatetag 文件夹下就好,这里想放到一个公共的目录下,然后写下简单的自定义tag的模板. django1.6 创建 在项目目录下建立如下的文件夹结构 templatetags/ __init__.py eryatags.py eryatags.py # -*- encoding=utf-8 -*- from django import template register = template.Library() from util.cr…
django中自定义simpletag,即使用自己定义的函数在html中处理数据. 步骤: 1.创建并注册app settings.py INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles',…
settings.py: #安装 pip install django-taggit INSTALLED_APPS = [ 'myblog', 'taggit', 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', ] 实体类中…
在app里建一个子的python包,包含__init__.py,包名为templatetags,里面新建一个tags.py(这个名字可以随意) from django import templateregister = template.Library() def short_msg(value): if len(value) > 50: return value[:50]+" ......" else: return value register.filter('short_m…
1.自定义simple_tag: 1).在app目录名下创建templatetags目录,并新建__init__.py文件. 2).在templatetags目录下创建任意名字的py文件,例如remainder.py. from django import template from django.utils.safestring import mark_safe register = template.Library() @register.simple_tag() def remainder…