Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Не происходит рендеринг ссылки в custom template tag [RSS Feed]

#1 Ноя. 17, 2015 10:55:40

megoloman
Зарегистрирован: 2015-10-26
Сообщения: 113
Репутация: +  0  -
Профиль   Отправить e-mail  

Не происходит рендеринг ссылки в custom template tag

Здравствуйте! Помогите со следующей проблемой. Необходимо написать тег, который принимает любой объект и рендерит ссылку на его редактирование в админку. Есть такое решение, 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)

Однако ссылка не создается, в чем проблема?

Офлайн

#2 Ноя. 23, 2015 04:55:18

zheromo
От:
Зарегистрирован: 2010-10-02
Сообщения: 356
Репутация: +  2  -
Профиль   Отправить e-mail  

Не происходит рендеринг ссылки в custom template tag

Попробуйте добавить

return safe(unicode(link))

safe из django.template.defaultfilters



Офлайн

  • Начало
  • » Django
  • » Не происходит рендеринг ссылки в custom template tag[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version