I want to get user.pk
from request
(for logged in user) in order to avoid additional DB queries.
In views
there is incoming request
variable. How to get this request
somewhere else (not in views)? Directly importing HttpRequest
does not help, because HttpRequest
gets user
object because of middleware modification. How can I get this 'modified' HttpRequest
with user
object? What do I need to import?
EDIT:
I want to implement customized user address, so user may have 2 types of addresses, like mysite.com/username
or mysite.com/id123
, so one link from navigation menu (My page
) is dynamic. For the creation of navigation menu I use django-sitetree
, where I want to do something like:
from sitetree.sitetreeapp import register_items_hook
def my_items_processor(tree_items, tree_sender):
# get somehow `request`
if tree_sender == 'menu.children':
for item in tree_items:
if request.user.username:
item.url = request.user.username
else:
item.url = request.user.pk
return tree_items