1)、在app目录下建目录templatetags【不可改名】目录,然后在该目录下建一个空的__init__.py
2)、mytags.py
在templatetags下建一个mytags.py,添加:
from django import template
register = template.Library()
添加一个函数,用于html页面调用。例如:
import re , time , datetime,os,sys
from lykops.settings import BASE_DIR
@register.filter
def is_image(value):
value = str(value)
#请使用str,否则页面报错
full_filename = BASE_DIR + '/' + value if re.search('.jpg$' , value) : if os.path.exists(full_filename) and os.path.isfile(full_filename) : return '<img alt="image" src="/' + value + '" />' else : return value else : return value
3)、html页面应用
在html页面上添加{% load mytags %}
调用方式
{% autoescape off %}
<td>{{ file |is_image }}</td>
{% endautoescape %}
注意:{% autoescape off %}是为了html对这段代码<td>{{ file |is_image }}</td>不转义
分享到:
相关推荐
Autoforms是Jeff开源的一个基于Django的自定义表单引擎,可用于调查、投票、信息收集甚至是整合至工作流程引擎和PAAS平台当中。 AutoForms的主要特性: 支持14种字段类型13种html输入控件(包括日期选择组件)...
标题中提到的是“Django中文版 教程”,而描述中则表明这是一份适合新手并且详尽的教程,附带目录,说明教程结构完整,覆盖了新手入门所需学习的各个方面。标签“python Django”指出这份教程专注于Python语言和...
### Django 1.11 官方说明文档知识点概述 #### 一、Django文档概览 Django 是一个开源的 Web 开发框架,...以上就是 Django 1.11 官方说明文档的主要知识点概述,希望能帮助大家更好地理解和掌握 Django 的使用方法。
- **模板标签和过滤器**:自定义模板标签和过滤器可以扩展模板功能。 ##### 4. 表单处理 - **表单类定义**:使用表单类定义数据验证规则。 - **表单处理流程**:从用户输入获取数据,验证数据有效性,保存数据到...
- **自定义模板标签和过滤器**:介绍了如何添加自定义标签和过滤器到 Django 模板系统。 - **编写自定义存储系统**:说明了如何实现自定义文件存储方案。 - **部署 Django**:提供了部署 Django 应用的各种方法和...
4. 模板层(Template Layer):包括模板的基础知识,面向设计师和程序员的模板语言,内建标签和过滤器的使用,自定义标签和过滤器的创建,以及国际化和本地化的设计。 5. 表单层(Forms Layer):介绍了表单的基础...
- **路由配置**: Django 使用 URLconf 来配置 URL 模式和视图函数之间的映射关系。 **1.5 模板层** - **模板语法**: Django 模板引擎支持丰富的语法,包括变量、标签、过滤器等。 - **继承与扩展**: Django 模板...
Django的官方文档通常包含了框架的所有相关信息,包括如何安装、配置以及如何使用其各种功能来构建一个功能完备的Web应用。 1. Django框架概述 Django框架2.0的文档中首先介绍了Django的各个组成部分,包括模型层...
Django文档会说明Django对Python版本的支持情况,以及如何在不同版本的Python中安装和使用Django。 12. 地理框架(Geographic framework) Django也支持地理空间数据,文档将介绍如何在Django应用中使用地理框架。 ...
- 模板标签:自定义和扩展Django CMS的模板系统。 - 命令行接口:通过命令行管理网站内容。 - 权限:管理网站的用户权限和访问控制。 4. 扩展CMS 该部分为开发者提供了扩展Django CMS的详细方法。具体包括: - 示例...
- **模板标签**:讲解如何自定义模板标签,扩展Django模板系统的功能。 #### 五、数据库交互:数据建模(第五章) - **ORM基础**:解释Django ORM的基本概念,以及如何使用它来操作数据库。 - **模型定义**:介绍...
- **Django设置**:介绍了如何配置和使用Django的设置系统。 - **信号**:描述了Django信号机制的工作原理和使用方法。 #### 6. 实用指南 - **使用REMOTE_USER进行认证**:说明了如何通过远程用户认证来控制访问...
2. **项目创建**:Django使用命令行工具来创建项目,包括项目的整体结构和配置文件。理解`django-admin startproject`命令的用法是开始Django之旅的第一步。 3. **应用创建**:在项目内部,你可以创建多个应用,每...
【Python-djangoinlinesvg:一个Django的简单SVG模板标签】 在Web开发中,SVG(Scalable Vector Graphics)由于其可缩放性、高质量的图像显示以及对动画的良好支持,越来越受到开发者们的青睐。在Django这个流行的...
2. **Django自动完成**:提供Django标签、过滤器和模型属性的自动补全,提高编码效率。 3. **Django调试工具**:集成pdb或其它调试工具,便于在Atom中调试Django应用。 4. **项目管理工具**:用于快速启动、停止、...
- **起步指南**:简述了如何开始使用 Django,包括安装环境配置、项目创建、基本应用构建等内容。 - **模型层**:介绍了 Django 的模型概念及其在数据库中的作用,包括字段定义、数据验证、关系管理等。 - **模板层*...
- 使用 `register.tag` 注册自定义标签,第一个参数是模板中使用的标签名称,第二个参数是前面定义的方法。 自定义标签可以带参数或不带参数,参数通过 `register.simple_tag` 或 `register.inclusion_tag` 等...
这部分内容介绍了 Django 提供的缓存框架,包括缓存的配置、使用方法等。 **12. 条件视图处理 (Conditional View Processing)** 这部分内容介绍了如何根据不同的条件来处理视图逻辑,提高应用的灵活性。 **13. ...
在编写可重用程序的部分,文档会介绍如何创建自定义中间件、表单、模板标签和过滤器,这些都是构建大型Django项目时必不可少的组件。 进一步地,文档详细介绍了Django的模型和数据库操作,包括模型的基本定义、...