Как сделать кортеж кортежей и прогнать его сабсетом?
def test_urls_uses_correct_template_guest_user(self):
templates_url_names = {
'/': 'posts/index.html',
f'/group/{self.post.group.slug}/': 'posts/group_list.html',
f'/profile/{self.post.author}/': 'posts/profile.html',
f'/posts/{self.post.id}/': 'posts/post_detail.html',
'/create/': 'posts/create_post.html',
}
for address, template in templates_url_names.items():
with self.subTest(address=address):
response = self.authorized_client.get(address)
self.assertTemplateUsed(response, template)
Подскажите пожалуйста как переделать в кортеж кортежей, проверять будем не хардкод урлы, а реверс на имя с аргументом. Нужно учесть что реверс нужен только в месте вызова.
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
Вместо словаря просто пишете кортеж кортежей:
templates_url_names = (
('/', 'posts/index.html'),
...
)
А при переборе сущностей просто убирате .items() и всё.
Что такое реверс в данном контексте я не понял.