Django 1.10发行说明(https://docs.djangoproject.com/en/1.10/releases/1.10/#features-removed-in-1-10)说:
django.shortcuts.render()
但是,1.10中的render()文档(https://docs.djangoproject.com/en/1.10/topics/http/shortcuts/#render)仍然将context列为dictionary类型的参数
上下文
要添加到模板上下文中的值的字典。默认情况下,这是一个空字典。如果字典中的值是可调用的,则视图将在呈现模板之前调用它。
坦率地说,我的问题是什么?通常这将是一个学术问题,但以下代码:
def index(request):
context = RequestContext(request, {})
return render(request, 'maintenance/maintenance.html', context) 产生此错误:
TypeError: dict expected at most 1 arguments, got 3 这是我能找到的关于问题所在的最好的线索。我还应该指出,此错误是在将Django从1.8更新到1.10之后出现的。
发布于 2016-08-19 17:51:54
您混淆了context和context_instance,这是两个独立的参数。context_instance参数在Django 1.10中已经删除,但是context仍然存在。
正如文档所言,context应该是一个值字典。因为您传递的是一个RequestContext实例而不是一个字典,所以您得到了错误。通过将示例视图更改为:
def index(request):
context = {}
return render(request, 'maintenance/maintenance.html', context)https://stackoverflow.com/questions/39044909
复制相似问题