python - Django 测试压缩的响应对象
问题描述
所以我有 SearchResultView(listview) 方法 get_context_data 是我压缩出版物和图像。为了在模板中轻松循环:
context['publications'] = zip(context['publications'], cover_images)
现在我正在测试,我有以下内容:
def setUp(self):
user = User.objects.create_superuser(username='admin', password='12345', email='')
user.save()
Publication.objects.create(title='eindhoven')
Publication.objects.create(title='لحضور المؤتمر الدولي العاشر ليونيكود')
Publication.objects.create(title='مزامير') #mazamir
和这个:
def test_search_results(self):
client = Client('127.0.0.1')
response = client.login(username='admin', password='12345')
response = client.get('/publication/show/', {'q': 'eindhoven'})
现在我需要解压缩响应中的 zip。我尝试了以下方法:
list(zip(*response.context['publications']))
list(zip(*response.context[-1]['publications']))
但他们返回一个空列表。有人有什么想法吗?
解决方案
所以我为图像制作了一个额外的上下文变量,因为我不必解压缩 zip 对象。它返回空列表的原因是谷歌翻译不适用于 mazamir(拉丁语到阿拉伯语)的搜索。所以它可能适用于压缩对象,但它的代码太多使其变得困难。所以我选择了前一种解决方案。最后我制作了压缩对象和列表,因为模板需要压缩对象同时循环。
推荐阅读
- amazon-web-services - 气流存储日志到 S3 的良好做法?
- ios - 如何将触摸点转换为 CG 矢量
- mongodb - 在 VNET 下通过 SSH 隧道连接到 Azure Container 实例中的 MongoDB
- laravel - laravel 5.8 中的嵌套替代验证 required_without
- amazon-elb - EKS + NLB:`service.beta.kubernetes.io/aws-load-balancer-internal: true` 不适用于`service.beta.kubernetes.io/aws-load-balancer-type: nlb`
- python-3.x - Tkcalendar DateEntry - 允许小部件将无选择返回为空白
- sql-server - 在 Calalog 中执行 SSIS 包后如何读取变量值?
- python - 如何在 plotly 中覆盖同一图中的两个图(在 plotly 中创建帕累托图)?
- ios - Swift:在 macOS/iOS 中是否有类似于 NSSpellCheck 的操作系统调用,但用于从字典中获取单词定义,
- javascript - 当汉堡包按钮出现时,标题不会停留在左上角