kur*_*tgn 1 testing django csrf
我在使用 csrf 令牌测试视图时遇到问题。
这段代码
class ViewTests(TestCase):
def test_bets_view(self):
login_page = self.client.get('/users/login/')
print(login_page.content)
Run Code Online (Sandbox Code Playgroud)
返回带有 CSRF 隐藏输入的 HTML。
我需要将这个东西与以前的 HTML 进行比较,
expected_html = render_to_response('login.html',
dictionary={'form': LoginForm()})
Run Code Online (Sandbox Code Playgroud)
没有隐藏的 CSRF 输入。所以断言失败。
如何在测试客户端中禁用 CSRF 渲染?
小智 5
您可以在单元测试中覆盖中间件设置,如下所示:
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={ ... })
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
5198 次 |
最近记录: |