Python RemovedIndjango110警告:render_to_字符串的上下文_实例参数已弃用
对于其中一个应用程序,我正在Django 1.9.x项目中重载“删除选定对象”方法,该项目使用管理面板。为此,我有一个类似的代码:Python RemovedIndjango110警告:render_to_字符串的上下文_实例参数已弃用,python,django,django-templates,django-admin,Python,Django,Django Templates,Django Admin,对于其中一个应用程序,我正在Django 1.9.x项目中重载“删除选定对象”方法,该项目使用管理面板。为此,我有一个类似的代码: from django.contrib.admin import helpers from django.http import HttpResponseRedirect from django.shortcuts import render_to_response from django.template import RequestContext class
from django.contrib.admin import helpers
from django.http import HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
class MAdmin(admin.ModelAdmin):
actions = ['delete_selected']
def delete_selected(self, request, queryset):
if 'apply' in request.POST:
# User has confirmed deletion of items
return HttpResponseRedirect(request.get_full_path())
else:
# User must confirm if they wish to delete selected items
return render_to_response('admin/confirm_delete.html', { 'queryset': queryset, 'action_checkbox_name': helpers.ACTION_CHECKBOX_NAME }, context_instance=RequestContext(request))
最后一行在控制台中产生以下警告:
…/virtualenv/lib/python2.7/site packages/django/shortcuts.py:45:removedindjango110警告:render_to_字符串的context_实例参数已被弃用。使用=使用)
我试图找到一些资源来解释如何根据1.10.x版本“更新”语法,但我一直无法找到
已经有人问过类似的问题,但有点不同,因为OP显式调用了render\u to\u string
,而我没有
我应该如何更新上面的调用以使警告消失?是的,修复它的“正确”方法是更新它。根据
自版本1.8起已弃用:
上下文_实例参数已弃用。改为使用render()函数,该函数始终使RequestContext可用
如果您确实想抑制此警告(高度不推荐),可以使用静音\u系统检查设置
请注意,这是一个Python警告,而不是Django系统检查。您需要使用添加过滤器并忽略警告。除非确实不可避免,否则我不希望使警报静音,因为这基本上是解决问题的后遗症。我会尝试一下,然后再回来。没错,抑制这些错误会让维护升级周期成为一场噩梦。它成功了。只需将请求
传递给render()
调用并删除context\u实例
参数就可以了。谢谢