AT, Thanks for your email I have posted the custom template tag code and the traceback at dpaste. The template code is at:
http://dpaste.com/636570/ the traceback is at: http://dpaste.com/636571/ Please do let me know if anything else is required. Thanks, nav On Oct 18, 5:20 pm, Andre Terra <andrete...@gmail.com> wrote: > Please post your code again on something likehttp://dpaste.comand I'll > gladly take a look > > Cheers, > AT > > On Tue, Oct 18, 2011 at 9:43 AM, nav <navanitach...@gmail.com> wrote: > > If anyone has any pointers as to what might be the problem please > > answer. I would greatly appreciate any help you maybe able to provide. > > > Thanks. > > nav > > > On Oct 17, 11:44 pm, nav <navanitach...@gmail.com> wrote: > > > Dear Folks, > > > > I am using a number of subdomains for my website and decided to create > > > a custom url tag and try as shown on > > > >http://stackoverflow.com/questions/3461806/django-subdomains-and-mod-... > > > > My template tag being used in my template like this: > > > <a href='{% subdomainurl "app.views.view_decider" "about" %}'>About > > > Us</a> > > > > My template tags functions looks like this: > > > > class SubdomainURLNode(URLNode): > > > def render(self, context): > > > request = context['request'] > > > domain = request.get_host() > > > subdomain = re.sub(r'^www\.','',domain).split('.')[0] > > > path = super(SubdomainURLNode, self).render(context) > > > return "%s/%s" % (str(request.get_host()), path) > > > > @register.tag > > > def subdomainurl(parser, token, node_cls=SubdomainURLNode): > > > """Just like {% url %} but checks for a subdomain.""" > > > node_instance = url(parser, token) > > > return node_cls(view_name=node_instance.view_name, > > > args=node_instance.args, > > > kwargs=node_instance.kwargs, > > > asvar=node_instance.asvar) > > > > While trying to render the template tag it comes back saying: > > > > TemplateSyntaxError at / > > > > Caught TypeError while rendering: cannot concatenate 'str' and > > > 'FilterExpression' objects > > > > My template tag function does not return the path value from the > > > statement: > > > path = super(SubdomainURLNode, self).render(context) > > > > because the URLNode function fails on line 442 because of a type > > > mismatch: > > > url = reverse(project_name + '.' + view_name, > > > > I just tried using the standard url method in django {% url > > > "app.views.view_decider" "about" %} and this works. I would like to > > > know where I am going wrong with my function so I can get this to > > > work. > > > > The full traceback of the error is below: > > > > Thanks in advance. > > > nav > > > > The full traceback of the error is below: > > > ------------------------------------------------------------------ > > > Environment: > > > > Request Method: GET > > > Request URL:http://localhost:8000/ > > > > Django Version: 1.3.1 > > > Python Version: 2.6.6 > > > Installed Applications: > > > ['django.contrib.auth', > > > 'django.contrib.contenttypes', > > > 'django.contrib.sessions', > > > 'django.contrib.sites', > > > 'django.contrib.messages', > > > 'django.contrib.staticfiles', > > > 'django.contrib.admin', > > > 'swanlotus_site', > > > 'south'] > > > Installed Middleware: > > > ('django.middleware.common.CommonMiddleware', > > > 'django.contrib.sessions.middleware.SessionMiddleware', > > > 'django.middleware.csrf.CsrfViewMiddleware', > > > 'django.contrib.auth.middleware.AuthenticationMiddleware', > > > 'django.contrib.messages.middleware.MessageMiddleware', > > > 'middleware.SubdomainMiddleware') > > > > Template error: > > > In template /home/nandu/django/swanlotus/templates/navigation.html, > > > error at line 6 > > > Caught TypeError while rendering: cannot concatenate 'str' and > > > 'FilterExpression' objects > > > 1 : {% load custom_tags %} > > > > 2 : {% load url from future %} > > > > 3 : <ul> > > > > 4 : <li><a href="http://localhost:8000/">Home</a></li> > > > > 5 : <!-- <li><a href="http://localhost:8000/about">About Us</a> > > > --> > > > > 6 : <li><a href=' {% subdomainurl > > > "swanlotus_site.views.view_decider" "about" %} '>About Us</a> > > > > 7 : <ul> > > > > 8 : <li><a href="http://chandra.localhost: > > > 8000">Chandra</a></li> > > > > 9 : </ul> > > > > 10 : </li> > > > > 11 : <li><a href="http://downloads.localhost:8000">Downloads</ > > > a> > > > > 12 : {% if thesis and phd_guide%} > > > > 13 : <ul> > > > > 14 : <li><a href="http://downloads.localhost:8000/ > > > #thesis">Thesis Writing</a></li> > > > > 15 : <li><a href="http://downloads.localhost:8000/ > > > #phd">PhD Guide</a></li> > > > > 16 : {% if calculus_sheet and app_maths_sheet %} > > > > Traceback: > > > File "/usr/local/lib/python2.6/dist-packages/django/core/handlers/ > > > base.py" in get_response > > > 111. response = callback(request, > > > *callback_args, **callback_kwargs) > > > File "/home/nandu/django/swanlotus/swanlotus_site/views.py" in > > > view_decider > > > 21. return render(request, template, context) > > > File "/usr/local/lib/python2.6/dist-packages/django/shortcuts/ > > > __init__.py" in render > > > 44. return HttpResponse(loader.render_to_string(*args, > > > **kwargs), > > > File "/usr/local/lib/python2.6/dist-packages/django/template/ > > > loader.py" in render_to_string > > > 188. return t.render(context_instance) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in render > > > 123. return self._render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in _render > > > 117. return self.nodelist.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in render > > > 744. bits.append(self.render_node(node, context)) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" > > > in render_node > > > 73. result = node.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/ > > > loader_tags.py" in render > > > 127. return compiled_parent._render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in _render > > > 117. return self.nodelist.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in render > > > 744. bits.append(self.render_node(node, context)) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" > > > in render_node > > > 73. result = node.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/ > > > loader_tags.py" in render > > > 159. return self.render_template(self.template, context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/ > > > loader_tags.py" in render_template > > > 141. output = template.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in render > > > 123. return self._render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in _render > > > 117. return self.nodelist.render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/base.py" > > > in render > > > 744. bits.append(self.render_node(node, context)) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/debug.py" > > > in render_node > > > 73. result = node.render(context) > > > File "/home/nandu/django/swanlotus/swanlotus_site/templatetags/ > > > custom_tags.py" in render > > > 16. path = super(SubdomainURLNode, self).render(context) > > > File "/usr/local/lib/python2.6/dist-packages/django/template/ > > > defaulttags.py" in render > > > 442. url = reverse(project_name + '.' + > > > view_name, > > > > Exception Type: TemplateSyntaxError at / > > > Exception Value: Caught TypeError while rendering: cannot concatenate > > > 'str' and 'FilterExpression' objects > > > -- > > You received this message because you are subscribed to the Google Groups > > "Django users" group.> To post to this group, send email > > todjango-us...@googlegroups.com. > > To unsubscribe from this group, send email > > to>django-users+unsubscr...@googlegroups.com. > > For more options, visit this group at > >http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-users@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.