我一直在为我的一个 django 应用程序编写测试,并且一直在寻找解决这个问题已经有一段时间了。我有一个视图可以发送django.contrib.messages
用于不同情况的消息。该视图如下所示。
from django.contrib import messages
from django.shortcuts import redirect
import custom_messages
def some_view(request):
""" This is a sample view for testing purposes.
"""
some_condition = models.SomeModel.objects.get_or_none(
condition=some_condition)
if some_condition:
messages.success(request, custom_message.SUCCESS)
else:
messages.error(request, custom_message.ERROR)
redirect(some_other_view)
现在,在测试这个 viewclient.get
的响应时不包含包含 的context
字典,messages
因为这个 view 使用了重定向。对于呈现模板的视图,我们可以使用messages = response.context.get('messages')
. 我们如何获得messages
重定向视图的访问权限?