payment-tags.py
@register.simple_tag
def has_purchased(user_id):
payments = Payment.objects.all(user__id=user_id)
return PaymentObjects(payments)
class PaymentObjects(template.Node):
def __init__(self, payments):
print 'inside init'
self.payments_obj = payments
def render(self, context):
print 'inside render'
context['payments'] = self.payments_obj
return ''
Внутренняя HTML:
{% load payment-tags %}
{% has_purchased request.user.id %}
Метод рендеринга класса PaymentObjects никогда не вызывается, он идет внутри функции init, но не внутри рендера.
Я искал эту проблему в Google, но не получил удовлетворительного ответа, который мог бы решить эту проблему.
Любой совет будет с благодарностью, спасибо.