Python Django-在render_to_响应中使用我的上下文

Python Django-在render_to_响应中使用我的上下文,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,有没有办法调用我所有的用户数据?不使用视图中的所有模板变量 模板: {% csrf_token %} <h1>Welcome {{user.full_name}} {{user.last_name}}</h1> <h1>{{user.email}}</h1> 对于django版本1.8或更高版本,您可以直接访问模板中的{{user}}。但是,您可以在设置的TEMPLATE_CONTEXT_PROCESSOR中添加以下内容,以便直接在模板中访

有没有办法调用我所有的用户数据?不使用视图中的所有模板变量

模板:

 {% csrf_token %}
 <h1>Welcome {{user.full_name}} {{user.last_name}}</h1>
 <h1>{{user.email}}</h1>

对于django版本1.8或更高版本,您可以直接访问模板中的{{user}}。但是,您可以在设置的TEMPLATE_CONTEXT_PROCESSOR中添加以下内容,以便直接在模板中访问{{user}

'django.contrib.auth.context_processors.auth',

对于django版本1.8或更高版本,您可以直接访问模板中的{{user}}。但是,您可以在设置的TEMPLATE_CONTEXT_PROCESSOR中添加以下内容,以便直接在模板中访问{{user}

'django.contrib.auth.context_processors.auth',

您可以使用类似dict的对象来定义
\uuuuuuu包含
\uuuuu
\uuuuuuu getitem\uuuuuuuuuu
,但使用属性访问来设置属性,例如:

from django import shortcuts, template
from django.contrib.auth.decorators import login_required

class Page(dict):
    # see http://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute-in-python
    def __init__(self, *args, **kwargs):
        super(Page, self).__init__(*args, **kwargs)
        self.__dict__ = self

@login_required
def foo(request):
    page = Page()
    page.user = request.user
    return shortcuts.render_to_response('foo.html', page)

然后,您可以完全按照自己喜欢的方式编写模板。

您可以使用类似dict的对象,该对象定义
\uuuuuu包含
\uuuu getitem\uuuu
,但使用属性访问来设置属性,例如:

from django import shortcuts, template
from django.contrib.auth.decorators import login_required

class Page(dict):
    # see http://stackoverflow.com/questions/4984647/accessing-dict-keys-like-an-attribute-in-python
    def __init__(self, *args, **kwargs):
        super(Page, self).__init__(*args, **kwargs)
        self.__dict__ = self

@login_required
def foo(request):
    page = Page()
    page.user = request.user
    return shortcuts.render_to_response('foo.html', page)
然后您可以完全按照自己的方式编写模板。

在此处找到我的答案在此处找到我的答案