Ошибка типа: объект «Библиотека» не может быть вызван - PullRequest
0 голосов
/ 19 января 2019

У меня следующая структура проекта:

kjp_app/
templatetags/
   __init__.py
   myfilters.py

В myfilters.py у меня есть этот код:

from django import template

register = template.Library()

@register(name='rep_slash')
def rep_slash(value):
    if '' in value:
        return value.replace('','/')

В соответствующем HTML-файле я загрузил myfilters и использовал rep_slashкак показано ниже,

{% extends 'kjp_app/base.html' %}
{% load myfilters %}
{% block body_block %}
  {% if client_rec %}
    <table>
      {% for rec in client_rec %}
          <tr>
            <td>{{ rec.client_name }}</td>
            <td>{{ rec.client_designation|rep_slash }}</td>
            <td>{{ rec.client_job_location }}</td>
            <td>{{ rec.client_phone_num }}</td>
          </tr>
      {% endfor%}
    </table>
  {% endif %}
{% endblock %}

При работе сервера появляется следующая ошибка:

File "D:\Django_projects\Pradeep Website\kjp_enterprise\kjp_app\templatetags\myfilters.py", line 5, in <module>
  @register(name='rep_slash')
TypeError: 'Library' object is not callable
[19/Jan/2019 14:57:45] "GET /kjp_app/view_clients HTTP/1.1" 500 151123


I am using Django 2.1.5 and python3.7

1 Ответ

0 голосов
/ 19 января 2019
@register.filter(name='rep_slash')
...