Python编程:Django自定义模板标签

简介: Python编程:Django自定义模板标签

在APPchart 中新建一个文件夹,和两个文件,结构如下:

templatetags/
  __init__.py
  mytags.py



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



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",
            },
        },


html文件中使用


{% load mytags %}
{% if field|startswith:"http" %}
     <td><a href="{{ field }}">{{ field }}</a></td>
 {% else %}
     <td>{{ field }}</td>
 {% endif %}



说明:

{% if field|startswith:"http" %}

相当于:

startswith(field, "http")

分别是第一个和第二个参数


注意:使用模板语言的时候|两侧不要有空格!!!


参考


Django之模板语言

Django: is not a registered tag library.

https://stackoverflow.com/questions/40686201/django-1-10-1-my-templatetag-is-not-a-registered-tag-library-must-be-one-of/42881074

https://docs.djangoproject.com/en/1.10/howto/custom-template-tags/


相关文章
|
11月前
|
缓存 监控 供应链
唯品会自定义 API 自定义操作深度分析及 Python 实现
唯品会开放平台提供丰富API,支持商品查询、订单管理、促销活动等电商全流程操作。基于OAuth 2.0认证机制,具备安全稳定的特点。通过组合调用基础接口,可实现数据聚合、流程自动化、监控预警及跨平台集成,广泛应用于供应链管理、数据分析和智能采购等领域。结合Python实现方案,可高效完成商品搜索、订单分析、库存监控等功能,提升电商运营效率。
|
11月前
|
缓存 监控 供应链
京东自定义 API 操作深度分析及 Python 实现
京东开放平台提供丰富API接口,支持商品、订单、库存等电商全链路场景。通过自定义API组合调用,可实现店铺管理、数据分析、竞品监控等功能,提升运营效率。本文详解其架构、Python实现与应用策略。
缓存 监控 供应链
425 0
缓存 监控 数据挖掘
288 0
|
Linux 数据库 数据安全/隐私保护
Python web Django快速入门手册全栈版,共2590字,短小精悍
本教程涵盖Django从安装到数据库模型创建的全流程。第一章介绍Windows、Linux及macOS下虚拟环境搭建与Django安装验证;第二章讲解项目创建、迁移与运行;第三章演示应用APP创建及项目汉化;第四章说明超级用户创建与后台登录;第五章深入数据库模型设计,包括类与表的对应关系及模型创建步骤。内容精炼实用,适合快速入门Django全栈开发。
736 1
|
人工智能 数据可视化 Python
在Python中对数据点进行标签化
本文介绍了如何在Python中使用Matplotlib和Seaborn对数据点进行标签化,提升数据可视化的信息量与可读性。通过散点图示例,展示了添加数据点标签的具体方法。标签化在标识数据点、分类数据可视化及趋势分析中具有重要作用。文章强调了根据需求选择合适工具,并保持图表清晰美观的重要性。
254 15
|
前端开发 JavaScript 关系型数据库
基于python的租房网站-房屋出租租赁系统(python+django+vue)源码+运行
该项目是基于python/django/vue开发的房屋租赁系统/租房平台,作为本学期的课程作业作品。欢迎大家提出宝贵建议。
746 6
|
缓存 Shell 开发工具
[oeasy]python071_我可以自己做一个模块吗_自定义模块_引入模块_import_diy
本文介绍了 Python 中模块的导入与自定义模块的创建。首先,我们回忆了模块的概念,即封装好功能的部件,并通过导入 `__hello__` 模块实现了输出 &quot;hello world!&quot; 的功能。接着,尝试创建并编辑自己的模块 `my_file.py`,引入 `time` 模块以获取当前时间,并在其中添加自定义输出。
570 5
|
数据挖掘 数据处理 开发者
Python3 自定义排序详解:方法与示例
Python的排序功能强大且灵活,主要通过`sorted()`函数和列表的`sort()`方法实现。两者均支持`key`参数自定义排序规则。本文详细介绍了基础排序、按字符串长度或元组元素排序、降序排序、多条件排序及使用`lambda`表达式和`functools.cmp_to_key`进行复杂排序。通过示例展示了如何对简单数据类型、字典、类对象及复杂数据结构(如列车信息)进行排序。掌握这些技巧可以显著提升数据处理能力,为编程提供更强大的支持。
1065 10
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
1046 45

推荐镜像

更多