django 自定义simple_tag

SIMPLE_TAG

1、在APP下创建templatetags目录。必须 是templatetags

2、在templatetags目录下创建tag.py,任意名

3、在tag.py 中

from django import template

register=template.Libraty()

@register.simple_tag

def func(a1,a2,...):

  这里写逻辑

  return 逻辑返回的值

缺点:不能作为IF条件

优点:参数可以无数个

FILTER

1、在APP下创建templatetags目录。必须 是templatetags

2、在templatetags目录下创建tag.py,任意名

3、在tag.py 中

from django import template

register=template.Libraty()

@register.filter

def func(a1,a2):

  这里写逻辑

  return 逻辑返回的值

缺点:只能有两个参数,优点:可以用于IF判断。

原文地址:https://www.cnblogs.com/GabyGU/p/9671082.html

时间: 2025-01-17 23:52:20

django 自定义simple_tag的相关文章

Django自定义simple_tag和filter

摘要 1.模板: 模板是一个纯文本文件,或是一个用Django模板语言标记过的普通的Python字符串. 模板可以包含模板标签和变量. 而Django的模板引擎提供了一些类似于函数的功能,通过前端可以实现代码逻辑的功能,例如大小写转换.加减乘除等 2.模板标签: 是在一个模板里面起作用的的标记,可以产生控制结构的语句,也可以展现内容,或者获取其他的模板标签 内部提供的一些方法,官方参考链接 大家可以查看python3.6/site-packages/django/template/default

18)django-模板的过滤器和tag,自定义simple_tag和filter

模板过滤器是在变量被显示前修改它的值的一个简单方法. 过滤器使用管道字符 . 模板标签(template tag) .标签(tag)定义比较明确,即: 仅通知模板系统完成某些工作的标签.  一:django自带过滤器 {{ name|lower }} 显示的内容是变量 {{ name }} 被过滤器 lower 处理后的结果,它功能是转换文本为小写{{ my_list|first|upper }} {{ bio|truncatewords:"30" }} addslashes : 添加

django 自定义User

django本身的auth_user 只包含了基本的信息包括用户名,密码,邮箱以及注册时间和最新的登录时间,但是这些字段很难满足我们的要求,有时我们想记录用户更多的信息,例如手机号等信息,这时就需要在auth_user 的基础上增加字段,django自定义User网上有四种方法. 1,是官网上推荐的方法,就是增加一个表auth_profile,其中以auth_user 表中的id作为Forgein Key将两个表过关联起来,这样可以在auth_profile 中增加多个用户的信息. 2,另外一种

django 自定义分页模块

django 自定义分页模块 from django.shortcuts import render, HttpResponse, redirect from django.utils.safestring import mark_safe class Page(object): def __init__(self, current_page): self.current_page = int(current_page) @property def start(self): return (se

django 自定义user使用权限管理模块

这篇文章主要是讲如何让自定义的user模块也能用到django.contrib.auth中的权限管理模块 看这篇文章之前请先看一下我前边的两篇文章,本文以这两篇文章为基础: django 自定义 USER 用源码告诉你django权限管理是怎么回事 下边是一个大概的实现,后边再做详细分析: 1.user model自定义 class AbstractUser(models.Model): # 登录信息 id = models.AutoField(primary_key=True) staff =

django自定义标签

参考文章: http://xiao80xiao.iteye.com/blog/519394 (django 自定义标签和过滤器) http://www.cnblogs.com/btchenguang/archive/2012/09/05/2672364.html#WizKMOutline_1346841868165594 (Django框架学习-Templates进阶用法--下) 自定义标签放在app/templatetags下.下面是3个例子. 自定义标签1(过滤器): vim test_ta

python django 自定义 装饰器

# -*-coding:utf-8-*- __author__ = "GILANG ([email protected])" """ django 自定义用于view的装饰器 """ from functools import wraps def object_does_not_exist(func): """ 不带参数的装饰器 """ @wraps(func) de

django 自定义标签和过滤器

django 自定义标签和过滤器 Django支持自定义标签和过滤器.起初还不太重视它这项功能,但最近试了试自定义标签.发现django这个功能实在是太爽了. 首先在你项目的一个app中建立一个python源文件夹,(即文件夹里面要包含一个__init__.py.)文件夹名为templatetags.  此文件夹便是存放自定义标签和过滤器的源码的地方了. 再如果是在templatetags文件夹中定义了标签,如 test_tags.py,要如何使用我们自定义的test_tags.py呢.很简单,

Django 自定义用户认证

Django 自定义用户认证 Django附带的认证对于大多数常见情况来说已经足够了,但是如何在 Django 中使用自定义的数据表进行用户认证,有一种较为笨蛋的办法就是自定义好数据表后,使用OnetoOne来跟 Django 的表进行关联,类似于这样: from django.contrib.auth.models import User class UserProfile(models.Model): """ 用户账号表 """ user =