python - 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)
解决方案
推荐阅读
- typescript - TypeScript:在编译时使用枚举作为接口/对象键的过滤器
- swiftui - SwiftUI List NavigationLink 初始化所有细节视图
- c# - c# selenium中如何验证单列值是否按webtable的字母顺序排列
- reactjs - 您可能混淆了默认导入和命名导入:仅使用默认导入
- r - 如何在 R boxplot 中强制 y 轴以科学计数法返回值
- flutter - 如何在 Flutter 中动态调整 BottomSheet 的高度?
- python - 在 Python 中将 FASTA 对齐文件拆分为所有可能的对齐对
- swagger - 如何定义openAPI参数组合?
- visual-studio-code - 如何重新定位 VS Code 的弹出式建议框?
- java - FindBugs - 已装箱的值被取消装箱,然后立即重新装箱