通常我们使用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)
分享到:
- 2008-03-07 08:15
- 浏览 1464
- 评论(0)
- 论坛回复 / 浏览 (0 / 2880)
- 查看更多
相关推荐
类标签需要继承`django.template.Node`或`django.template.TagHelperNode`,并实现`render`方法。类标签允许你处理更多的上下文信息,如获取模板变量等。 6. **自定义过滤器**:创建自定义过滤器与创建简单标签类似...
1. **Python包管理**: 使用Python的`pip`工具,可以通过PyPI下载并安装这个库,例如运行`pip install django-template-model`。 2. **Django模板系统**: Django框架有一套强大的模板系统,用于生成HTML和其他静态...
Django模板图欢迎使用django-template-graph文档概述django-template-graph是调试/数据可视化工具,用于与Django合作的前端开发人员,可绘制模板层次结构(扩展标签)并包括在内。 包含或扩展使用变量的标记显示为...
A practical guide to Django template development with custom tags, filters, multiple templates, caching, and more Scott Newman
在使用Django Filter之前,需要确保它已经安装并且在项目的`settings.py`文件中被正确配置。添加`'django_filters'`到`INSTALLED_APPS`列表,同时在`REST_FRAMEWORK`设置中指定`'DEFAULT_FILTER_BACKENDS'`为`'...
首先,我们要了解Django的`filter`方法是基于ORM(Object-Relational Mapping)的,它允许我们使用Python表达式来查询数据库,这种方式既直观又易于理解。`filter()`方法接受一个或多个关键字参数,每个参数对应一个...
首先,Django的模板引擎允许开发者使用模板语言(Template Language,简称TL)来创建HTML或其他格式的文件,这些文件能够与后台Python代码交互,动态地生成内容。模板语言是一种声明式语言,它不涉及复杂的编程逻辑...
本文将深入讲解Django models的`filter`筛选条件及其相关知识。 1. `filter`与`exclude` - `filter`方法用于获取满足指定条件的所有对象,它返回一个QuerySet,表示所有匹配的模型实例。 - `exclude`方法则相反,...
Django-property-filter是的扩展,并提供了按类属性过滤查询集的功能。 它通过为Filters和Filtersets提供子类来保持现有的django-filter功能来做到这一点。 执照 版本 Github动作 覆盖范围 车轮 执行 地位 ...
**PyPI 官网下载 | django_filter-1.0.0-py2.py3-none-any.whl** ...总之,`django_filter`是Django开发中的一个强大工具,通过使用`whl`文件,我们可以轻松地在项目中引入并利用它的功能,提高开发效率和用户体验。
在视图中,我们可以通过 `django_filters/rest_framework` 的 `FilterSet` 和 `filter_queryset` 方法来使用过滤器: ```python from rest_framework import generics from .filters import MyModelFilter from ....
在本项目"Django-Blog:使用Django制作博客"中,我们将探讨如何利用Python的Web框架Django构建一个功能完备的个人或企业博客系统。Django以其“快速、易用且强大”的特性深受开发者喜爱,它能够帮助我们高效地开发...
例如,定义`TEMPLATE_DIRS`时,可以使用`BASE_DIR + '/templates'`。 2. **利用{% url %}模板标签**:在模板中使用{% url %}替代硬编码的URL,这样当项目结构发生变化时,链接依然可用。通过将视图函数与URL模式...
### Django 1.0 模板开发:深入解析与实践指南 #### 一、概述 在《Django 1.0 模板开发》这本书中,作者Scott Newman为我们提供了关于如何利用Django 1.0进行高效模板开发的实用指南。本书不仅仅局限于介绍基本的...
要使用`django_mongoengine_filter-0.3.1-py2.py3-none-any.whl`,首先需要确保已安装了Django、MongoEngine以及wheel库。然后,可以使用Python的`pip`工具来安装这个whl文件: ```bash pip install django_...
首先,我们需要使用`tar -zxvf django-template-model-1.0.3.tar.gz`命令来解压文件,然后进入解压后的目录,执行`python setup.py install`或`pip install .`来安装库。安装完成后,开发者就可以在自己的Django项目...
开发者可以通过设置`TEMPLATES`配置来指定使用的模板引擎,如默认的`django.template.backends.django.DjangoTemplates`。 **3. 模板文件结构** 在Django项目中,模板通常放在`app/templates/app_name/`目录下。每...
【标题】基于Python+Django的博客系统是利用Python的Web开发框架Django构建的一款用于计算机毕业设计的应用。这样的系统通常包含用户注册、登录、文章发布、评论互动、分类管理等核心功能,为用户提供了一个在线的...
"django-email-from-template"是Django的一个扩展,允许开发者使用Django模板系统来创建和发送电子邮件。这种方式极大地提高了邮件内容的灵活性和可维护性,使得邮件的设计与代码分离,更易于管理和定制。 ### 1. ...
使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜商城源码 使用Django开发的天天生鲜...