gpt4 book ai didi

django 测试客户端获取所有 url 的 404

转载 作者:行者123 更新时间:2023-12-01 11:55:40 25 4
gpt4 key购买 nike

我正在做我的第一个 django 测试实验,我遇到了一个问题,无论我使用哪个 url(甚至/),我总是得到 404 模板。如果我将完全相同的代码放入 django shell,它会按预期工作,并始终向我显示请求的 url 的内容。

class SimpleTest(TestCase):
def setUp(self):
self.user = User.objects.create_user('test', 'test', 'test')
self.user.is_staff = True
self.user.save()
self.client = Client()

def test_something(self):
self.assertTrue(self.client.login(username='test', password= 'test'))
self.client.get("/")

登录返回 True,但 get() 失败。有什么提示我在这里做错了吗?

最佳答案

请记住,大多数 View 使用诸如 get_object_or_404get_list_or_404 之类的东西,或者在访问某个对象或另一个对象时出现问题时简单地引发 Http404 .您需要确保您的测试数据库中填充了足够的对象来满足所有这些要求,从而使 View 不会返回 404。

请记住,在运行测试时,数据库会在每次测试后回滚(使用事务),因此每个测试方法必须独立存在,或者 setUp 方法必须使用任何所需的依赖项填充数据库。

关于django 测试客户端获取所有 url 的 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7632315/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com