自Django 1.10以来,FBV会丢失我的用户/会话数据
从Django 1.5开始,我就一直在使用下面这样的视图,从那时起,它在所有Django版本(包括1.9)中都发挥了巨大的作用 但是,自Django 1.10以来,页面已加载,但没有可用的会话/用户数据。用户似乎没有登录。当回到CBV时,一切正常。 运行Django时会显示会话数据已损坏 另外,像自Django 1.10以来,FBV会丢失我的用户/会话数据,django,django-views,Django,Django Views,从Django 1.5开始,我就一直在使用下面这样的视图,从那时起,它在所有Django版本(包括1.9)中都发挥了巨大的作用 但是,自Django 1.10以来,页面已加载,但没有可用的会话/用户数据。用户似乎没有登录。当回到CBV时,一切正常。 运行Django时会显示会话数据已损坏 另外,像ë这样的非ASCII字符现在显示为ë 我发现问题在于render\u to\u response。如果改为渲染,如下图所示,问题将消失 def site_info(request): cont
ë
这样的非ASCII字符现在显示为ë
我发现问题在于render\u to\u response
。如果改为渲染
,如下图所示,问题将消失
def site_info(request):
context_dict = {}
context_dict['site_version'] = settings.SITE_VERSION
return render(request, 'site_info.html', context_dict)
我读了这本书,但没有什么我能真正指出的。我是不是忽略了什么?为什么会有突然的行为改变?来自:
更改为
render()
可解决此问题 直接从1.5
升级到1.10
是个坏主意。尝试1.5
->1.6
->1.7
->1.8
->1.9
->1.10
从文件
不推荐使用,将来可能会被弃用
当然,我没有直接从Django 1.5升级到1.10。在2016年运行Django 1.5将是一个非常糟糕的主意。从1.9到1.10时功能中断,但在~1.5中实现;我将在我的帖子中澄清。
def site_info(request):
context_dict = {}
context_dict['site_version'] = settings.SITE_VERSION
return render(request, 'site_info.html', context_dict)
The dictionary and context_instance parameters for the following functions are removed:
- django.shortcuts.render()
- django.shortcuts.render_to_response()
- django.template.loader.render_to_string()