from django import template register = template.library() @register.filter(name='cut') def cut(value,arg): """ This cuts out all values of "arg" from string """ return value.replace(arg,'') # register.filter('cut',cut)
from django.db import models from django.utils.text import slugify import misaka # Create your models here. from django.contrib.auth import get_user_model User = get_user_model() from django import template register template.library() class Group(models.Model): name = models.CharField(max_length=255,unique=True) slug = models.SlugField(allow_unicode=True,unique=True) description = models.TextField(blank=True,default='') description_html = models.TextField(editable=False,default='',blank=True) members = models.manyToManyField(User,through='GroupMember') def __str__(self): return self.name def save(self,*args,**kwargs): self.slug = slugify(self.name) self.description_html = misaka.html(self.description) super().save(*args,**kwrgs) def get_absolute_url(self): return reverse('groups:single',kwrgs={'slug':self.slug}) class Meta: ordering=['name']
from django import template from portfolio.models import CaseStudy register = template.library() @register.simple_tag def portfolio_images(): img_list = CaseStudy.objects.all() return img_list
from django.utils.safestring import mark_safe from django import template register = template.library() #register的名字是固定的,不可改变 @register.filter def my_filter(v1, v2): return v1 * v2 @register.simple_tag def my_tag1(v1, v2, v3): return v1 * v2 * v3 @register.simple_tag def my_html(v1, v2): temp_html = "<input type='text' id='%s' class='%s' />" % (v1, v2) return mark_safe(temp_html)