`
hanyh
  • 浏览: 235360 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

django的template filter另类使用

阅读更多
通常我们使用filter都是对原始数据的直接处理,比如说调整时间格式,字符串截断等。我在一小项目中面临一个要每根据一个目录下面的子项,每3个显示为一行,因为django的template不能写逻辑,于是我用了filter传送id,返回生成的html代码:
生存效果如:
××××××××××××××××××××××××××××大项
====         ====       === 小项


template代码
{% load insititute %}  load the filter
{% for obj in object_list %}
<table id="zone_title_bar">
	<tr><td id='zone_icon'></td><td>{{ obj.name }}</td></tr>
</table>
{{ obj.id|insititute_list|safe }} 根据id返回内容
 
{% endfor %}


filter代码
#coding=utf-8
from django import template
from django.template import Library

from bnu.apps.teacher.models import Entry,Institute

register = Library()

def insititute_list(id):
    "Removes all values of arg from the given string"
    objects = Entry.objects.get(id__exact=int(id)).institute_set.all()
    count = 0
    str ="<table>"
    for obj in objects:
        if(count % 3 == 0):
            str += "<tr>"
        strid= "%s" % obj.id
        str += "<td class='insititute_item'><a href='/insititute/"+strid+"/' target='_blank'>"+obj.name+"</td>"
        count += 1
        if(count %3 == 0):
            str += "</tr>"
    if(count % 3) != 0:
        str += "</tr>"
    str +="</table>"
    return str
#这有一点小问题,如果是4个子项,新一行没有褙够td标记
register.filter('insititute_list', insititute_list)
分享到:
评论

相关推荐

    Django template 自定义模板标签实现

    类标签需要继承`django.template.Node`或`django.template.TagHelperNode`,并实现`render`方法。类标签允许你处理更多的上下文信息,如获取模板变量等。 6. **自定义过滤器**:创建自定义过滤器与创建简单标签类似...

    PyPI 官网下载 | django-template-model-1.0.6.tar.gz

    1. **Python包管理**: 使用Python的`pip`工具,可以通过PyPI下载并安装这个库,例如运行`pip install django-template-model`。 2. **Django模板系统**: Django框架有一套强大的模板系统,用于生成HTML和其他静态...

    django-template-graph

    Django模板图欢迎使用django-template-graph文档概述django-template-graph是调试/数据可视化工具,用于与Django合作的前端开发人员,可绘制模板层次结构(扩展标签)并包括在内。 包含或扩展使用变量的标记显示为...

    django_1.0_template_development.pdf

    A practical guide to Django template development with custom tags, filters, multiple templates, caching, and more Scott Newman

    django rest framework使用django-filter用法

    在使用Django Filter之前,需要确保它已经安装并且在项目的`settings.py`文件中被正确配置。添加`'django_filters'`到`INSTALLED_APPS`列表,同时在`REST_FRAMEWORK`设置中指定`'DEFAULT_FILTER_BACKENDS'`为`'...

    利用django自带的filte实现精准、模糊查询

    首先,我们要了解Django的`filter`方法是基于ORM(Object-Relational Mapping)的,它允许我们使用Python表达式来查询数据库,这种方式既直观又易于理解。`filter()`方法接受一个或多个关键字参数,每个参数对应一个...

    python-django模板

    首先,Django的模板引擎允许开发者使用模板语言(Template Language,简称TL)来创建HTML或其他格式的文件,这些文件能够与后台Python代码交互,动态地生成内容。模板语言是一种声明式语言,它不涉及复杂的编程逻辑...

    Django models filter筛选条件详解

    本文将深入讲解Django models的`filter`筛选条件及其相关知识。 1. `filter`与`exclude` - `filter`方法用于获取满足指定条件的所有对象,它返回一个QuerySet,表示所有匹配的模型实例。 - `exclude`方法则相反,...

    django-property-filter:扩展django-filter以允许按属性过滤

    Django-property-filter是的扩展,并提供了按类属性过滤查询集的功能。 它通过为Filters和Filtersets提供子类来保持现有的django-filter功能来做到这一点。 执照 版本 Github动作 覆盖范围 车轮 执行 地位 ...

    PyPI 官网下载 | django_filter-1.0.0-py2.py3-none-any.whl

    **PyPI 官网下载 | django_filter-1.0.0-py2.py3-none-any.whl** ...总之,`django_filter`是Django开发中的一个强大工具,通过使用`whl`文件,我们可以轻松地在项目中引入并利用它的功能,提高开发效率和用户体验。

    django-filters源码包

    在视图中,我们可以通过 `django_filters/rest_framework` 的 `FilterSet` 和 `filter_queryset` 方法来使用过滤器: ```python from rest_framework import generics from .filters import MyModelFilter from ....

    Django-Blog:使用Django制作博客

    在本项目"Django-Blog:使用Django制作博客"中,我们将探讨如何利用Python的Web框架Django构建一个功能完备的个人或企业博客系统。Django以其“快速、易用且强大”的特性深受开发者喜爱,它能够帮助我们高效地开发...

    Django10个使用技巧

    例如,定义`TEMPLATE_DIRS`时,可以使用`BASE_DIR + '/templates'`。 2. **利用{% url %}模板标签**:在模板中使用{% url %}替代硬编码的URL,这样当项目结构发生变化时,链接依然可用。通过将视图函数与URL模式...

    Django 1.0 Template Development

    ### Django 1.0 模板开发:深入解析与实践指南 #### 一、概述 在《Django 1.0 模板开发》这本书中,作者Scott Newman为我们提供了关于如何利用Django 1.0进行高效模板开发的实用指南。本书不仅仅局限于介绍基本的...

    Python库 | django_mongoengine_filter-0.3.1-py2.py3-none-any.whl

    要使用`django_mongoengine_filter-0.3.1-py2.py3-none-any.whl`,首先需要确保已安装了Django、MongoEngine以及wheel库。然后,可以使用Python的`pip`工具来安装这个whl文件: ```bash pip install django_...

    Python库 | django-template-model-1.0.3.tar.gz

    首先,我们需要使用`tar -zxvf django-template-model-1.0.3.tar.gz`命令来解压文件,然后进入解压后的目录,执行`python setup.py install`或`pip install .`来安装库。安装完成后,开发者就可以在自己的Django项目...

    django3-Template.zip

    开发者可以通过设置`TEMPLATES`配置来指定使用的模板引擎,如默认的`django.template.backends.django.DjangoTemplates`。 **3. 模板文件结构** 在Django项目中,模板通常放在`app/templates/app_name/`目录下。每...

    基于Python+Django的博客系统,使用django框架,template模板,后台管理xadmin。.zip

    【标题】基于Python+Django的博客系统是利用Python的Web开发框架Django构建的一款用于计算机毕业设计的应用。这样的系统通常包含用户注册、登录、文章发布、评论互动、分类管理等核心功能,为用户提供了一个在线的...

    django-email-from-template:发送完全由Django模板生成的电子邮件

    "django-email-from-template"是Django的一个扩展,允许开发者使用Django模板系统来创建和发送电子邮件。这种方式极大地提高了邮件内容的灵活性和可维护性,使得邮件的设计与代码分离,更易于管理和定制。 ### 1. ...

    使用Django开发的天天生鲜商城源码.zip

    使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜...

Global site tag (gtag.js) - Google Analytics