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)
然后您可以完全按照自己的方式编写模板。在此处找到我的答案在此处找到我的答案