Last active
December 22, 2015 10:39
-
-
Save shadow-identity/6460508 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django import template | |
from django.core.urlresolvers import reverse | |
from django.utils.html import urlize | |
from django.http.request import HttpRequest | |
register = template.Library() | |
@register.tag(name="edit_link") | |
def do_get_admin_link(parser, token): | |
""" parser | |
""" | |
try: | |
tag_name, user_id = token.split_contents() | |
except ValueError: | |
raise template.TemplateSyntaxError('%r tag argument requires a user id, got "%s"' | |
% (token.contents.split()[0], (token.contents.split()[1:]))) | |
return GetAdminLinkNode(user_id) | |
class GetAdminLinkNode(template.Node): | |
def __init__(self, user_id_var): | |
self.user_id = template.Variable(user_id_var) | |
def render(self, context): | |
try: | |
uid = int(self.user_id.resolve(context)) | |
#url_text = reverse('admin:hello_contact_change', args=(uid,)) | |
#print urlize(url_text) | |
#print defaultfilters.urlize('http://ya.ru/suck') | |
return urlize(HttpRequest.build_absolute_uri(reverse('admin:hello_contact_change', args=(uid,)))) | |
except ValueError: | |
return '' |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
returns
Internal Server Error: /
Traceback (most recent call last):
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/core/handlers/base.py", line 115, in get_response
response = callback(request, _callback_args, *_callback_kwargs)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/annoying/decorators.py", line 79, in wrapper
context_instance=RequestContext(request), mimetype=mimetype)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/shortcuts/init.py", line 29, in render_to_response
return HttpResponse(loader.render_to_string(_args, *_kwargs), **httpresponse_kwargs)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/loader.py", line 177, in render_to_string
return t.render(context_instance)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 140, in render
return self._render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/debug.py", line 74, in render_node
return node.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/loader_tags.py", line 124, in render
return compiled_parent._render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 134, in _render
return self.nodelist.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/debug.py", line 74, in render_node
return node.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/loader_tags.py", line 63, in render
result = block.nodelist.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/debug.py", line 74, in render_node
return node.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/loader_tags.py", line 63, in render
result = block.nodelist.render(context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/base.py", line 830, in render
bit = self.render_node(node, context)
File "/home/nedr/progs/venv/django-hello-world/lib/python2.7/site-packages/django/template/debug.py", line 74, in render_node
return node.render(context)
File "/home/nedr/progs/42/django-hello-world/django_hello_world/../django_hello_world/hello/templatetags/hello_extras.py", line 33, in render
return urlize(request.build_absolute_uri(reverse('admin:hello_contact_change', args=(uid,))))
AttributeError: 'module' object has no attribute 'build_absolute_uri'
[06/Sep/2013 11:13:04] "GET / HTTP/1.1" 500 467037