HTML-Python-Django中的字符过滤



所以我正在构建一个网站,需要能够通过Django中我网站上的模型字段的前缀进行过滤。现在,当我显示这个时,我需要去掉前缀。要做到这一点,最简单的方法似乎是在HTML本身中添加一些不包括前4个字符或之前的字符,例如[4:]。这看起来很简单,但我不能让它工作,我可以让它工作

|truncatechars:"10"

这是推荐的解决方案。我需要在我的视图或HTML中说明,当打印时不要显示前4个字符,而是显示除此之外的所有字符。谢谢你的帮助!

HTML:

{{ form.title }}

型号:

class DocPost(models.Model):
user = models.ForeignKey(User, default=True, related_name="Doc", on_delete=models.PROTECT)
title = models.CharField(max_length=100)
content = HTMLField(blank=True, null=True)
created_at = models.DateTimeField(auto_now_add=True)
class Meta:
ordering = ['-pk']
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('doc-post-list')

Django视图:

def docpostnewview(request, pk):
obj = get_object_or_404(DocPost, id=pk)
form = DocPostForm(request.POST or None, instance=obj)
if form.is_valid():
form.save()
return HttpResponseRedirect("/" + id)
context = {"form":form}
#context['title'] = DocPost.objects.all().filter(title='title')
return render(request, "my_app/use_template.html", context)

您可以使用下面的剪切过滤器,它将显示标题跳过"温度:";子字符串。记住这将删除"的所有值;温度:";从给定的标题。

{{ form.title|cut:"Temp:" }} 

最新更新