Есть ли способ получить домен по умолчанию 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')
Другие вопросы по тегам