Фильтр пользовательских шаблонов Django не может работать - PullRequest
1 голос
/ 13 августа 2010

У меня есть ошибка: 'run_target' не является допустимой библиотекой тегов: библиотека шаблонов run_target не найдена, пробовал django.templatetags.run_target

Я не знаю, почему это не может работать, даже если я добавлю 'db.templatefilters', это тоже не сможет работать ... Может кто-нибудь мне помочь? спасибо:)

Ниже моя файловая структура:

db/
    models.py
    templatefilters/
        __init__.py
        run_target.py
templates/
    run.html

run_target.py

from django import template
register = template.Library()

@register.simple_tag
def dictKeyLookup(the_dict, key):
       return the_dict[key]

run.html

{% extends "index.html" %}
**{% load run_target %}**
{% block content %}
<div style="margin-left:150px; margin-top:10px">
<a href="/home">Home</a> >> <b>run</b>
</div>
<form name="form" method="post">
<br>
<input type="submit" value="Delete" style="margin-left:149px; width:80px; height:30px">
<table border="1"; style="margin-left:150px; border-collapse:collapse;margin-top:10px"; cellpadding="4" borderColor=black>

{% for run in run_list %}
    <tr>
    <td>{% dictKeyLookup target_dict run.id %}</td>
    </tr>
{% endfor %}
</table>
</form>
{% endblock %}

Ответы [ 2 ]

9 голосов
/ 13 августа 2010

Перво-наперво: вы перезагрузили сервер после внесения изменений?Это тривиально, но большинство людей застревают из-за этого.


Является ли db в вашей настройке INSTALLED_APPS?

Если так, то это похоже на две другие вещи, которые выотсутствуют:

  • файл __init__.py в самой папке db (у вас есть один в каталоге templatefilters, но нет его родительского каталога)
  • папка templatefilters должна называться templatetags (см. раздел документации в документации).

Кстати, db не очень хорошее название дляapp - назовите это чем-то, что более точно идентифицирует , что делает.

0 голосов
/ 12 июля 2012

Если все сделано как в документации:

  • init .py внутри папки приложения и внутри папки templatetags
  • имя приложения в разделе INSTALLED_APPSfrom settings.py

Тогда проблему можно решить, перезапустив сервер, если вы запрограммировали модуль с новыми тегами / фильтром во время работы сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...