gpt4 book ai didi

django - 如何在测试 Django 时禁用 csrf?

转载 作者:行者123 更新时间:2023-11-28 20:18:21 25 4
gpt4 key购买 nike

我在使用 csrf token 测试 View 时遇到问题。

这段代码

class ViewTests(TestCase):
def test_bets_view(self):
login_page = self.client.get('/users/login/')
print(login_page.content)

返回带有 CSRF 隐藏输入的 HTML。

还有这个东西,我需要将其与以前的 HTML 进行比较,

expected_html = render_to_response('login.html',
dictionary={'form': LoginForm()})

没有隐藏的 CSRF 输入。所以断言失败。

如何在测试客户端中禁用 CSRF 呈现?

最佳答案

您可以像这样在单元测试中覆盖您的中间件设置:

from django.test import override_settings

testing_middleware = [ ... anything but csrf middleware goes here ]


class TestWhatever(TestCase)
@override_settings(MIDDLEWARE=testing_middleware)
def testSomething():
# no csrf error will occur
self.client.post('/', data={ ... })

关于django - 如何在测试 Django 时禁用 csrf?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28983158/

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