Я пытаюсь проверить вызов вызова POST. Я использую follow = True. Но тестовый клиент использует метод GET, и мои данные POST не передаются.клиент-консультант django не вызывает POST, но GET
вот мое мнение:
def aaa(request):
n = request.method
d = request.POST
template = 'shop/test.html'
return render(request, template, d)
Вот мой тест:
from django.utils import unittest
from django.test.client import Client
def test_add_to_cart_page(self):
response = self.client.post('/aaa/', {'product': 11}, follow=True)
self.assertEqual(response.status_code, 200)
Когда вид называется. Это не POST, но GET используется, и мои POST-параметры пусты, конечно. Может ли кто-нибудь сказать, почему это произошло?
EDIT: Я сделал чистую вену со свежим Django. И он работает как ожидалось (звонки POST) Похоже, что в Дании что-то гнилое.
Похоже, вы используете его правильно. Просто, чтобы быть уверенным ... вы * предполагаете *, что это запрос GET, потому что вы не видите d-рендеринг в своем шаблоне? Или вы действительно проверили request.method? – dylrei
yes Я проверяю request.method –