python3 manage.py startapp stu新建应用
stu右键新建python package的包,因为有init的初始文件
新建的包下新建fliter_mark.py的python文件,里面写我们的自定义过滤器
index.html中要{% load filter_mark %} 加载我们的自定义过滤器文件
filter_mark.py
# coding = utf-8
from django.http import HttpResponse
from django.template import Library
register = Library()
@register.filter
def md(value):
import markdown
return markdown.markdown(value)
@register.filter
def splitstr(value, args):
start, end = args.split(',')
value = value.encode('utf-8').decode('utf-8')
return value[int(start):int(end)]
index.html
{% load static %}
{% load filter_mark %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过滤器</title>
<link rel="stylesheet" type="text/css" href="{% static 'dist/css/bootstrap.css' %}"/>
<script src="{% static 'jquery-3.4.1.js' %}" type="text/javascript" charset="utf-8"></script>
<script src="{% static 'dist/js/bootstrap.js' %}" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<div class="container">
{{ num|add:'2' }}
<br/>
{{ name|capfirst }}
<br/>
{{ current|date:"Y-m-d h:i:s" }}
<br/>
{{ num|divisibleby:'2' }}
<br/>
{{ urlstr|safe }}
<br/>
{{ content|md|safe }}
<br/>
{{ str|splitstr:"0,5" }}
</div>
</body>
</html>
views.py
from django.db.models.functions import datetime
from django.shortcuts import render
# Create your views here.
from django.views import View
class IndexView(View):
def get(self, request):
urlstr = '<h3>www.baidu.com</h3>'
content = '# 自定义过滤器'
str = 'BobbySmith'
return render(request, 'index.html', {'num': 8,
'name': 'bobby',
'current': datetime.datetime.today(),
'urlstr': urlstr,
'content': content,
'str': str,
})