Пользовательские теги django с шаблонными блоками? - PullRequest
1 голос
/ 06 января 2010

Я только начал узнавать о пользовательских тегах в django, и мне было интересно, есть ли функция, которая позволяет вводить данные, как если бы они были блоками / тегами.

Реальная проблема в том, что теги работают отлично, но допустим, что мой тег - это html и javascript, означает ли это, что мне нужно вызвать две функции тега и таким образом внедрить их в страницу. Кажется, что решение состоит в том, чтобы использовать шаблон, в котором вы заполняете блоки, и он добавляет данные таким образом, но он не может делать то, что должны делать пользовательские теги. Так как бы вы решили такую ​​проблему?

1 Ответ

2 голосов
/ 06 января 2010

Вам нужно использовать теги включения django

Infact, администратор django сам использует эти теги для очень похожих целей.

Из документации определите функцию, подобную этой, которая знает о шаблоне, который необходимо отобразить из

@register.inclusion_tag('results.html')
def show_results(poll):
    choices = poll.choice_set.all()
    return {'choices': choices}

И шаблон:

<ul>
{% for choice in choices %}
    <li> {{ choice }} </li>
{% endfor %}
</ul>

Затем вы вставляете тег следующим образом:

{% show_results poll %}

Который обеспечит:

<ul>
   <li>First choice</li>
   <li>Second choice</li>
   <li>Third choice</li>
</ul>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...