Есть ли способ получить домен по умолчанию Client() в unittest из Django?
Я хотел бы получить доменное имя по умолчанию Client()
в Джанго Я видел способ изменить по умолчанию. Но не нашел способа получить имя домена по умолчанию.
3 ответа
Решение
Доменное имя по умолчанию для тестового клиента Django: testserver
, Это жестко закодировано в RequestFactory
Базовый класс.
Если вы хотите изменить домен для конкретного запроса, вы можете просто передать его как kwarg:
self.client.get('/some-path', SERVER_NAME="anotherdomain.com")
Я только что попробовал https://docs.djangoproject.com/en/1.9/topics/testing/tools/
URL-адрес теста по умолчанию будет http://localhost:8082/, и мы можем запросить его во время выполнения тестов. И это работает для меня.
это (pytest) ответ, который вы ищете?
@pytest.fixture()
def client() -> "django.test.client.Client":
"""like the default pytest client with a new domain name."""
skip_if_no_django()
return Client(SERVER_NAME = 'my-server.com')