2
Djangoテストクライアントでフォームリクエストを送信するにはどうすればよいですか? 特に、私は(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