Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我能';我的Django模板中的t访问请求_Python_Django_Django Templates_Django Views - Fatal编程技术网

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()。再次表示感谢