【发布时间】:2020-08-12 19:52:24
【问题描述】:
我不确定为什么会收到此过滤器错误。我查找了其他人的类似问题,我肯定正在加载我的模板标签,我重新启动了服务器,我有一个模板标签文件夹,其中包含 init.py 文件和保存我的标签的文件,那么,我在这里做错了什么?
错误在{{ request.user|unread_messages }},过滤器无效:'unread_messages'
unread_message_counter.py
from django import template
from dating_app import models
register = template.Library()
@register.simple_tag
def unread_messages(user):
return user.InstantMessage.filter(viewed=False).count()
**base.htmnl **
{% load bootstrap4 %}
{% load unread_messages_counter %}
<!-- Navbar is located in this file -->
<!doctype html>
<html lang="en">
<head>
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
{% block head %}
<title>Basee</title>
{% endblock %}
</head>
<body>
<nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
<ul class="navbar-nav mr-auto">
<li class="nav-item active">
<a class="nav-link" href="{% url 'dating_app:home' %}">Home <span class="sr-only">(current)</span></a>
</li>
</ul>
<!-- Below is login/registration links and the logic-->
{% if user.is_authenticated %}
Hello, {{ user.username }}
<ul class="mylinks">
<div>
<li><a href="{% url 'dating_app:profile' user.id %}">My Profile</a></li>
<li><a href="{% url 'dating_app:logout' %}">log out</a></li>
<div>
</ul>
<li class="nav-item">
<a class="nav-link" href="{% url 'dating_app:view_matches' user.id %}">Matches</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'dating_app:conversations' user.id %}">Inbox</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{% url 'dating_app:mingle' %}">Mingle</a>
</li>
<li class="nav-item">
{{ request.user|unread_messages }}
</li>
{% else %}
<div>
<a href="{% url 'dating_app:login' %}">log in</a>
<br>
<a href="{% url 'dating_app:register' %}">register</a>
</div>
{% endif %}
【问题讨论】:
标签: django