Django Template层之自定义tag

简介: Django Template层之自定义tag

Django Template层之自定义tag



测试环境

Win7

Django 1.11

 

实践

步骤1

应用根目录下,新建templatetags包目录(注意:该目录名称是约定的),并在该目录下新建自定义py文件(例中为project_dir/website/website_template_tags.py)

代码布局如下:

AutoTestPlatform/

   __init__.py

   models.py

  templatetags/

       __init__.py

       website_template_tags.py

   views.py

 

website_template_tags.py

# -*- encoding:utf-8 - *-

 

__author__ = 'shouke'

 

from django import template

from django.conf import settings

 

register = template.Library() # 注册tag

 

@register.simple_tag # 装饰器表名函数是一个标签,tag类型中的一种

@register.tag('user_name')

def get_username(session):

   username = session.get('username')

   return username

 

说明:

@register.simple_tag # 表名函数是一个tag,类型为Simple tag

 

@register.tag('user_name') #注册标签为模块的Library实例,name为模板标签名,该参数如果为空,则默认使用函数名称为模板标签名称

 

 

步骤2

html模板中使用自定义tag

 

{%  loadwebsite_template_tags %}

 

……

<p>user name is {% user_namerequest.session %}</p>

……

 

 

 

参考链接:

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

 


目录
相关文章
|
3月前
|
Shell 数据库 网络架构
Django+DRF 实战:从异常捕获到自定义错误信息(下)
本文详解了 Django REST Framework 中 ValidationError 的验证流程与优先级,涵盖字段内置验证、自定义验证方法、对象级验证及数据库约束,并通过实战演示如何自定义异常提示信息。
103 1
Django+DRF 实战:从异常捕获到自定义错误信息(下)
|
2月前
|
缓存 监控 中间件
Django中间件自定义开发指南:从原理到实战的深度解析
Django中间件是Web应用的“交通警察”,在请求与响应过程中进行全局处理,适用于身份验证、日志记录、性能监控等功能。本文详解中间件的工作原理、开发步骤及实战案例,帮助开发者掌握自定义中间件的构建方法,提升Django应用的可维护性与扩展性。
156 0
|
3月前
|
Python
Django+DRF 实战:自定义异常处理流程
本文详解DRF异常处理流程,包括默认处理机制与自定义异常处理器的实现方法。通过源码分析和实战示例,讲解如何全局捕获并统一返回错误信息,并结合日志记录与友好提示提升项目健壮性。适用于Django进阶开发。
138 4
|
4月前
|
中间件 数据库 Python
Django实战:自定义中间件实现全链路操作日志记录
Django中间件是一套轻量级插件系统,用于全局处理请求与响应。通过自定义中间件可实现如操作日志记录等功能,支持在请求、视图、响应及异常阶段插入逻辑。本文详解中间件生命周期、编写方式及实战案例。
95 1
|
3月前
|
数据安全/隐私保护 网络架构 UED
Django+DRF 实战:从异常捕获到自定义错误信息
本文介绍了DRF(Django REST framework)中的异常处理机制,重点讲解了内置异常类ValidationError的使用场景与示例。同时通过用户注册功能的实战演示,展示了如何在序列化器中自定义参数校验规则,并在视图中捕获并返回结构化的错误信息,提升接口的健壮性与用户体验。
70 0
|
安全 数据库 数据安全/隐私保护
|
数据库 Python
django中数据库外键可以自定义名称吗
django中数据库外键可以自定义名称吗
|
SQL Shell API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
python Django教程 之 模型(数据库)、自定义Field、数据表更改、QuerySet API
|
中间件 API 网络架构
Django后端架构开发:从匿名用户API节流到REST自定义认证
Django后端架构开发:从匿名用户API节流到REST自定义认证
231 0
|
数据安全/隐私保护 Python
必知的技术知识:django自定义分页器
必知的技术知识:django自定义分页器