Возможно ли иметь ALLOWED_HOSTS другую конфигурацию для некоторых URL? - PullRequest
0 голосов
/ 23 мая 2019

Я хочу иметь ALLOWED_HOSTS=['*'] для некоторых URL, но для остальных я хочу, чтобы оно было ALLOWED_HOSTS=[".example.com"].

Для CSRF у нас есть @csrf_exempt

Для Cors у нас есть сигнал check_request_enabled

Но для ALLOWED_HOSTS?

1 Ответ

1 голос
/ 23 мая 2019

Можно было бы написать промежуточное программное обеспечение, которое проверит URL-адрес запроса и установит ALLOWED HOSTS.Вам нужно будет добавить это промежуточное ПО в разделе top из MIDDLEWARES в файле настроек.Попробуйте что-то вроде ниже:

from django.conf import settings

def simple_middleware(get_response):
    def middleware(request):
        # Code to be executed for each request before
        # the view (and later middleware) are called.
        if request.META['PATH_INFO'] == "your_logic":
            settings.ALLOWED_HOSTS = ["*"]
        else:
            settings.ALLOWED_HOSTS = ['example.com']
        response = get_response(request)

        # Code to be executed for each request/response after
        # the view is called.

        return response

    return middleware
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...