On Sunday, 9 October 2011 20:26:26 UTC+1, Kayode Odeyemi wrote: > > Hello, > > I'm creating a template tag that will will allow session variables stored > as strings or > dict in a view to be available in its template. The syntax is: > > {% session_value [view_name] [session_variable] [arg] %} > > But at the moment I don't know how I can get Django to stop throwing name > errors > on variables/class names that are available. In my code, kwargs, > NoReverseMatch are all available, but > Django keeps reporting name errors on them. > > Here's the snippet of the code at > https://github.com/charyorde/session_value/blob/master/templatetags/tags.py > > <snip> >
> I will like to know what I'm doing wrong. How do I prevent these constant > name errors whenever the > template tag is registered? > > Thanks > Look again at the format of the code at that link. It clearly shows what is wrong: the try/except block starting at line 58 is badly indented, so it is not counting as part of the `render` method. This appears to be because you have mixed tabs and spaces. *Never* do that. In fact, *never* use tabs - always use spaces. Plus, line 37 is unnecessary - in fact harmful, because you've already registered the tag with the decorator in line 6. I don't know what happens if you decorate a function twice with the same decorator, but it's unlikely to be helpful. (I won't go into whether or not the whole tag is just an unnecessary rewrite of `request.session.varname`, or your misunderstanding that session variables are in some way related to view names, so we'll leave it there.) -- DR. -- You received this message because you are subscribed to the Google Groups "Django users" group. To view this discussion on the web visit https://groups.google.com/d/msg/django-users/-/1hrQIdPBdyIJ. 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.