Часть тестаclass TemplateTagTest(TestCase):
def testEditLinkTag(self):
client = Client()
client.login(username="admin", password="12345")
edit_obj = MyInfo.objects.get()
admin_edit_link = create_link(edit_obj)
t = Template("{% load tags %} {%admin_edit edit_obj%}")
result = t.render(Context({'edit_obj':edit_obj}))
self.assertEqual(admin_edit_link, result)
Собственно сам tagfrom 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])
#link = u'<a href="/admin/%s/%s/%i" title="edit">edit %s</a>'%(obj._meta.app_label, obj._meta.module_name, obj.id, obj.__unicode__())
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)
А вот и корень зла во всем мире======================================================================
FAIL: testEditLinkTag (_42cupstest.tickets.tests.TemplateTagTest)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/lpfan/eclipse/_42cupstest/../_42cupstest/tickets/tests.py", line 76, in testEditLinkTag
self.assertEqual(admin_edit_link, result)
AssertionError: u'/admin/tickets/myinfo/1/' != u' /admin/tickets/myinfo/1/'
Реально не понимаю откуда лишний пробел