Найти - Пользователи
Полная версия: Не происходит рендеринг ссылки в custom template tag
Начало » Django » Не происходит рендеринг ссылки в custom template tag
1
megoloman
Здравствуйте! Помогите со следующей проблемой. Необходимо написать тег, который принимает любой объект и рендерит ссылку на его редактирование в админку. Есть такое решение, tags.py:

from django import template
from django.core.urlresolvers import reverse
register = template.Library()
def create_link(obj):
    link = reverse('admin:%s_%s_change' % (obj._meta.app_label, obj._meta.module_name), args=[obj.id])    
    return unicode(link)
class AdminEditNode(template.Node):
    def __init__(self, object):
        self.object = template.Variable(object)
    def render(self, context):
        return create_link(self.object.resolve(context))
def admin_edit(parser, token):
    tagname, object = token.split_contents()
    return AdminEditNode(object)
register.tag('admin_edit', admin_edit)

Однако ссылка не создается, в чем проблема?
zheromo
Попробуйте добавить
return safe(unicode(link))

safe из django.template.defaultfilters
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB