python - 我无法在我的 Django 模板中访问请求
问题描述
你好真棒人!
一个简单的问题。我有这样的看法:
def hello(request):
users_list = User.objects.all()
context = {"users_list":users_list}
return render_to_response('index/users-list.html',context=context)
在我的模板中,我想访问 COOKIES,request
{% for u in users_list %}
{% if u.id in request.COOKIES.room|split %}
remove user
{% endif %}
{% endfor %}
我尝试显示{{request.COOKIES}}
,但没有显示任何内容,但是密钥存在。模板中似乎没有该请求。
split 是一个自定义标签过滤器
@register.filter
def split(string_,sep=","):
return string_.split(sep)
为什么我无法访问请求?,并且我的可用的全局变量project/context_processors.py
都无法访问
解决方案
不要使用,自从在 Django 1.3 中引入render_to_response
以来,它就已经过时了。render
该render_to_response
函数在 Django 2.0 中已弃用,最终将在 Django 3.0 中删除。
在这种情况下,更改要使用的视图,render
如下所示:
return render(request, 'index/users-list.html', context=context)
假设您启用了request
上下文处理器TEMPLATES
(它在默认生成的设置文件中启用),那么您将能够request
在模板中访问。
推荐阅读
- excel - 带有日期的 Excel VBA 的 ADO 查询问题
- python - 使用聚合连接基于重叠时间跨度的数据帧
- esp8266 - SPIFFS 更改文件中特定行的内容
- windows - 使用 PSwindowsUpdate 模块自动执行 Windows Server 更新。问题
- swift - 在树中迭代
- python - 我无法让 Kivy 屏幕管理器在这个特定的应用程序中工作,我已经让它在其他程序中工作我真的无法让它在这个应用程序中工作
- javascript - 如何在 Javascript 中循环 Django 查询集
- android - 如何在没有BottomNavigationView的情况下使用BottomNavigationView和内部屏幕实现带有少量片段的Single Activity?
- python - 从 numpy 数组中获取最后 x 个非 nan 元素
- html - 为什么添加 1px 填充在 div 的高度中添加 10px