在Django中测试CSRF令牌

4 投票
1 回答
1761 浏览
提问于 2025-04-18 11:36

我想测试一下我在Django网站上的csrf令牌是否正常工作。问题是,csrf_token返回的是一个令牌值,而不是我自定义的'csrftoken'值。有没有办法设置csrf的值来进行测试呢?这是我正在使用的代码:

token = 'csrftoken'
client = Client(enforce_csrf_checks=True)
client.login(username='user', password='pass')
client.get("/my/web/page/")
csrf_token = client.cookies[token].value
assetEqual(token, csrf_token)

1 个回答

4

你有没有想过,为什么要测试一些已经被Django自己测试过的内容呢?他们的测试已经做得很全面了。

换句话说,你是不是在用CSRF令牌做一些特别的或者不常见的事情,所以需要自己再测试一下?

如果你只是按照文档上的说明在使用它,那就省省时间,把精力放在测试你自己的代码上,而不是Django的代码上。

撰写回答