2
Django 테스트 클라이언트에서 POST 요청을 제출하여 폼 데이터를 포함시킬 수 있습니까? 특히, 나는 (How should I write tests for Forms in Django?에서 영감) 같은 것을하고 싶은 :Django 테스트 POST 요청을 사용하여 폼을 제출하는 클라이언트
from django.tests import TestCase
class MyTests(TestCase):
def test_forms(self):
response = self.client.post("/my/form/", {'something':'something'})
의 엔드 포인트/내/형태는 '뭔가'를 다루는 일부 내부 논리를 가지고있다. 문제는 나중에 request.POST.get ('something')에 액세스하려고 할 때 아무것도 얻을 수 없다는 것입니다. 아래에서 공유 할 수있는 솔루션을 찾았습니다.
게시물 데이터를 urlencode하거나 콘텐츠 유형을 설정하지 않아도됩니다. ['client.post()'] (https://docs.djangoproject.com/en/1.11/topics/testing/tools/#django.test.Client.post)의 문서에있는 예제는'response = 귀하의 질문에 대한 self.client.post ("/ my/form /", { 'something': 'something'})'가 작동해야합니다. 아마도 당신의 질문에서 당신이 뭔가를 놓친 이유가 그것이 작동하지 않는 이유를 설명 할 것입니다. – Alasdair