Как сделать кортеж кортежей и прогнать его сабсетом?

    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() и всё.

Что такое реверс в данном контексте я не понял.

→ Ссылка