Есть ли способ отправлять параметры запроса для тестов?
Я пытаюсь сделать несколько тестов, в которых запрашиваются объявления определенного типа
например:
http://127.0.0.1:8000/ads/?type=normal
должны вернуть обычные объявления
и
http://127.0.0.1:8000/ads/?type=premium
должен вернуть премиальную рекламу
тесты запрашивают рекламу следующим образом response = self.client.get(reverse("ads"))
self.client - для сайта.
Reverse() была функцией, которую я использовал для других тестов, поэтому я думал, что она будет работать также хорошо.
Я искал способ, которым я мог бы отправить параметры, но в интернете ничего нет, насколько я знаю, и я боролся с этим часами. ┻━┻ ︵ヽ(`Д´)ノ︵ ┻━┻
Если вам нужна дополнительная информация, я могу принести ее вам
я пробовал использовать:
reverse("ads", kwargs={"type": "normal"})
reverse("ads", QUERY_PARAMS={"type": "normal"})
reverse("ads", QUERY_KWARGS={"type": "normal"})
reverse("ads", {"type": "normal"})
все это я нашел в интернете
Однако ничего не помогло
Спасибо, что прочитали
Когда URL имеет вид domain/search/?q=haha
, вы будете использовать request.GET.get('q', '')
.
q
- это нужный вам параметр, а ''
- значение по умолчанию, если q
не найден.
Однако, если вы вместо этого просто настраиваете URLconf**, то ваши захваченные значения из regex передаются в функцию в качестве аргументов (или именованных аргументов)
Такие как:
(r'^user/(?P<username>\w{0,50})/$', views.profile_page,),
Тогда в вашем файле views.py у вас будет
def profile_page(request, username):
# Rest of the method