Python Djangotyperror at/accounts/signout/unhable type:';dict';

Python Djangotyperror at/accounts/signout/unhable type:';dict';,python,django,dictionary,Python,Django,Dictionary,我是django的新手。我正在开发一个使用userena的web应用程序。当我试图在userena的注销视图中传递词典时,我遇到了错误。这就是错误 TypeError at /accounts/signout/ unhashable type: 'dict' 视图.py @secure_required def signout(request, next_page=userena_settings.USERENA_REDIRECT_ON_SIGNOUT, template_na

我是django的新手。我正在开发一个使用userena的web应用程序。当我试图在userena的注销视图中传递词典时,我遇到了错误。这就是错误

TypeError at /accounts/signout/
unhashable type: 'dict'
视图.py

@secure_required
def signout(request, next_page=userena_settings.USERENA_REDIRECT_ON_SIGNOUT,
        template_name='userena/home_index.html', *args, **kwargs):

   latest_images = Photo.objects.order_by('-uploaded_time')[:20]
   ctx = {'images':latest_images}
   context = RequestContext(request)
   if request.user.is_authenticated() and userena_settings.USERENA_USE_MESSAGES: # pragma: no cover
       messages.success(request, _('You have been signed out.'), fail_silently=True)
   userena_signals.account_signout.send(sender=None, user=request.user)
   return Signout(request,ctx,next_page, template_name, *args, **kwargs,context)

我说过我是Django的新手,所以我肯定在这里做错了。现在我的问题是如何通过userena signout视图传递字典。我需要传递字典并在给定模板中使用它。

在Django中,上下文是您将要使用的内容放在模板中的位置。如果我明白你想做什么,我想你应该这样做:

context = RequestContext(request, ctx)

您的
Signout
函数返回什么,因为
Signout
必须返回一个HttpResponse对象。return
Signout(request)
默认重定向到成功页面,并且成功页面已在
def Signout()
中定义为参数,您可以在我上面给出的代码中看到是从
django.auth.contrib导入的django的默认函数