Python 我能';我的Django模板中的t访问请求
大家好,真棒强> 一个简单的问题。我有这样的看法:Python 我能';我的Django模板中的t访问请求,python,django,django-templates,django-views,Python,Django,Django Templates,Django Views,大家好,真棒 一个简单的问题。我有这样的看法: def hello(request): users_list = User.objects.all() context = {"users_list":users_list} return render_to_response('index/users-list.html',context=context) 在我的模板中,我想通过request {% for u in users_list %} {% if u.
def hello(request):
users_list = User.objects.all()
context = {"users_list":users_list}
return render_to_response('index/users-list.html',context=context)
在我的模板中,我想通过request
{% for u in users_list %}
{% if u.id in request.COOKIES.room|split %}
remove user
{% endif %}
{% endfor %}
我试图显示{{request.COOKIES}}
,但是没有显示任何内容,但是密钥存在。似乎请求在模板中不可用
split是一个自定义标记过滤器
为什么我不能访问请求?,而且我的
项目/context\u处理器.py
中没有一个全局变量是可访问的不要使用render\u to\u response
,自从Django 1.3引入render
以来,它已经过时了。Django 2.0中的render_to_response
函数已被弃用,最终将被禁用
在这种情况下,将视图更改为使用render
,如下所示:
return render(request, 'index/users-list.html', context=context)
假设您在
模板中启用了请求
(它在默认生成的设置文件中启用),那么您就可以访问模板中的请求
。不要使用渲染到响应
,因为在Django 1.3中引入了渲染
,它已经过时了。Django 2.0中的render_to_response
函数已被弃用,最终将被禁用
在这种情况下,将视图更改为使用render
,如下所示:
return render(request, 'index/users-list.html', context=context)
假设您在模板中启用了请求
(它在默认生成的设置文件中启用),那么您将能够访问模板中的请求
。,因为您没有将其传递给渲染到响应(..)
调用。使用return render(请求'some_template.html',context)
代替。根据您所说的,我还需要通过render_to_response()
发送request
。那么上下文处理器中可用的所有全局变量呢?但两者之间的唯一区别是它首先构造了一个RequestContext
,因此功能上的区别几乎是为模板添加一个request
。因为您不将其传递给render\u to\u响应(…)
调用。使用return render(请求'some_template.html',context)
代替。根据您所说的,我还需要通过render_to_response()
发送request
。那么上下文处理器中所有可用的全局变量呢?但两者之间的唯一区别是,它首先构造了一个RequestContext
,因此功能上的区别几乎没有别的,只是为模板添加了一个request
。谢谢!如果我想刷新DOM的一部分,这个方法也可用吗?例如,我使用users\u list
在一个模式中显示所有用户,它是一个单独的视图。当用户单击类似的显示用户列表
时,我调用此视图仅刷新模式。render()
会这样做吗?render
快捷方式只是将模板呈现为html,并在HTTP响应中返回。您可以将其用于常规请求和AJAX请求。然而,AJAX视图通常返回JSON而不是html,在这种情况下,您可以使用render\u to\u string
。如果你仍然卡住了,请问一个新问题,因为它与原来的问题没有关系。谢谢!当然我已经用js做过了。。。实际上,我使用render()
来显示视图,当我想用js刷新DOM的一部分时,我使用render\u to\u response()
在一个单独的视图中从Django获得响应,直到我看到render\u to\u response()
的限制,我才知道render()。再次感谢你!如果我想刷新DOM的一部分,这个方法也可用吗?例如,我使用users\u list
在一个模式中显示所有用户,它是一个单独的视图。当用户单击类似的显示用户列表
时,我调用此视图仅刷新模式。render()
会这样做吗?render
快捷方式只是将模板呈现为html,并在HTTP响应中返回。您可以将其用于常规请求和AJAX请求。然而,AJAX视图通常返回JSON而不是html,在这种情况下,您可以使用render\u to\u string
。如果你仍然卡住了,请问一个新问题,因为它与原来的问题没有关系。谢谢!当然我已经用js做过了。。。实际上,我使用render()
来显示视图,当我想用js刷新DOM的一部分时,我使用render\u to\u response()
在一个单独的视图中从Django获得响应,直到我看到render\u to\u response()
的限制,我才知道render()。再次表示感谢