首页 > 解决方案 > AttributeError:类型对象“PostPagesTests”没有属性“post”

问题描述

我正在为我编写测试 view.py 但获取类型对象没有属性帖子。请大家帮忙,因为我刚刚开始学习python,老实说,不知道如何解决它。

这是我的 test_views.py

from django.contrib.auth import get_user_model
from django.test import Client, TestCase
from django.urls import reverse
from django import forms

from posts.models import Post, Group

User = get_user_model()


class PostPagesTests(TestCase):
    @classmethod
    def setUpClass(cls):
        super().setUpClass()
        cls.user = User.objects.create_user(username='auth')
        cls.group = Group.objects.create(
            title='Тестовая группа',
            slug='test-slug',
            description='Тестовая группа',
        )

        cls.post = Post.objects.create(
            text='Тестовый пост',
            author=cls.user,
            post_id=cls.post.pk
        )

    def setUp(self):
        self.user = User.objects.create_user(username='Yes')
        self.authorized_client = Client()
        self.authorized_client.force_login(self.user)

    def test_pages_uses_correct_template(self):
        tempplates_pages_names = {
            'posts/index.html': reverse('posts:index'),
            'posts/group_list.html': reverse(
                'posts:group_posts', kwargs={'slug': 'test-slug'}
            ),
            'posts/profile.html': reverse(
                'posts:profile', kwargs={'username': 'Yes'}
            ),
            'posts/post_detail.html': reverse(
                'posts:post_detail', kwargs={'post_id': self.post.pk}
            ),
            'posts/create_post.html': reverse(
                'posts:post_edit', kwargs={'post_id': self.post.pk}
            ),
            'possts/create_post.html': reverse('posts:create_post'),
        }

        for template, reverse_name in tempplates_pages_names.items():
            with self.subTest(reverse_name=reverse_name):
                response = self.authorized_client.get(reverse_name)
                self.assertTemplateUsed(response, template)

标签: pythondjangodjango-viewsdjango-tests

解决方案


推荐阅读