Greetings!

I've been spending the past few weeks learning django and love it!  I'm
running into a snag though...

I'm using just one template for all my toying right now, and it has a few
sections in it that looks something like this:

{% if user.username %}
        <center><h3>Welcome {{ user.username }}!</h3></center>
{% else %}
        <center>
                <h3>Welcome anonymous user!</h3>
                <h2>Please  /login/ login </h2>
        </center>
{% endif %}

-- and --

{% for link in link_list %}
         {{ link.href }} {{ link.name }} 
                {% if not forloop.last %} 
                        | 
                {% endif %}
{% endfor %}


I have around a dozen views, and I'm noticing that in each of my views I'm
having to do something like:

return render_to_response('base.html', {  #various logic
                                                        'link_list': link_list,
                                                        'user': request.user  })

I have link_list defined in another file, so each function can handle that
properly.  The problem creeps up on the 'user': request.user logic though. 
Instead of having to have this line of code in EVERY return statement, I'd
rather just define it once in a dictionary at the top of my views.py page or
in another file, with something like this:

dictionary_of_variables = {'user': request.user, 'link_list': link_list,
#various other global things}

I'd also like to just return something like this in each of my functions:

business_logic_variable = "some business logic"
dictionary_of_variables['template_variable'] = business_logic_variable
return render_to_response('base.html', dictionary_of_variables)


HOWEVER: I can't do that because request.user is out of the scope of a
'request' that you would typically pass to a view function.  My specific
error is:       

name 'request' is not defined


Is there a workaround for this sort of logic?  I don't mind returning it in
my 10 or so functions that I have right now, but when my webpage grows to
hundreds of functions & pages, it would be much better to globally define
this variable.

Thanks for your reply!

-- 
View this message in context: 
http://old.nabble.com/Generalizing-functions-in-views.py--tp30616200p30616200.html
Sent from the django-users mailing list archive at Nabble.com.

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-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.

Reply via email to