Django 中的自定义模板过滤器
Django 是一个基于 Python 的 Web 框架,可让您快速创建高效的 Web 应用程序。它也被称为包含电池的框架,因为 Django 为包括 Django 管理界面、默认数据库 - SQLlite3 等在内的所有内容提供了内置功能。
什么是 Django 模板语言 (DTL) 中的过滤器?
在开始了解如何在 Django 模板语言中制作自定义过滤器之前,让我们先了解一下什么是 Django 中的过滤器。
- 过滤器也是我们模板语言的重要特性。
- 过滤器基本上用于修改或过滤您的变量。
- 您必须使用此管道 ( | ) 符号在任何变量中应用过滤器。
例如 :-
所以这个过滤器会以小写形式修改这个变量值
{{ 变量名 |过滤器名称}}
如何在 Django 中创建自定义模板过滤器?
首先安装使用以下命令创建 django 项目:-
django-admin startproject myproj
cd myproj
然后在 myproj 中创建新的应用程序
对于 Ubuntu
python3 manage.py startapp main
在 INSTALLED_APPS 内的settings.py中添加应用名称
在您的views.py中添加此视图
Python3
from django.shortcuts import render
# Create your views here.
def home(request):
value="GEEKSFORGEEKS"
return render(request,"home.html",{"value":value})
Python3
from django import template
register = template.Library()
@register.filter()
def low(value):
return value.lower()
HTML
Welcome To GFG
{% load lower_filter %}
{{value|low}}
Python3
from django.urls import path
from .views import *
urlpatterns = [
path('', home,name="home"),
]
Python3
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("main.urls"))
]
现在让我们在主文件夹中创建templatetags目录
并且不要忘记在 templatetag 目录中创建__init__.py文件
然后创建lower_filter.py文件
蟒蛇3
from django import template
register = template.Library()
@register.filter()
def low(value):
return value.lower()
在主目录中创建一个目录并将其命名为模板
在模板目录中创建一个文件并将其命名为home.html
HTML
Welcome To GFG
{% load lower_filter %}
{{value|low}}
在主目录中创建一个文件并将其命名为urls.py
蟒蛇3
from django.urls import path
from .views import *
urlpatterns = [
path('', home,name="home"),
]
myproj/urls.py
蟒蛇3
from django.contrib import admin
from django.urls import path,include
urlpatterns = [
path('admin/', admin.site.urls),
path('',include("main.urls"))
]
打开cmd或终端
对于 Ubuntu
python3 manage.py runserver
输出 :-