Как использовать тег шаблона Django в шаблоне? - PullRequest
0 голосов
/ 16 сентября 2010

Я написал собственный тег шаблона:

def mytag(para):
    return something

В моем шаблоне я получаю значение {{value}}.Теперь я использую {{value|mytag}}, чтобы применить тег к значению, и он вызывает синтаксическую ошибку.

Ответы [ 2 ]

5 голосов
/ 16 сентября 2010

Ваш пример выглядит как фильтр. Если это все, что вы хотите, это довольно просто. Ссылки Павла на документацию должны дать достаточно четкое объяснение того, как и зачем что-то делать. Вот быстрый старт, который должен помочь вам начать работу.

  1. Создайте в своем приложении папку с именем "templatetags" с пустым файлом __init__.py
  2. Создайте файл для хранения ваших пользовательских тегов, сейчас мы скажем "tags.py".

ваш файл tags.py должен выглядеть примерно так:

from django import template
register = template.Library()

@register.filter
def mytag(para):
    return 'something'

затем в вашем шаблоне сначала нужно загрузить пользовательские теги, а затем вы можете получить к ним доступ.

{% load tags %}

My new value is: {{ value|mytag }}
2 голосов
/ 16 сентября 2010

Чтобы использовать теги шаблонов в Django, вы оборачиваете имя тега в {% и %}, например:

{% mytag %}

Если ваш тег принимает параметр, как кажется, ваш,Вы передаете параметр после имени тега:

{% mytag value %}

Синтаксис, который вы пытались использовать - {{ value|mytag }} для шаблона , фильтров , а не тегов.

...