Промежуточное программное обеспечение Django переписать запрос? - PullRequest
1 голос
/ 18 мая 2011

Я хотел бы написать промежуточное программное обеспечение (или какой-либо другой метод) для перезаписи запроса (AFAICT на содержимое request.META['PATH_INFO']) перед преобразователем URL.Это так, чтобы я мог выбрать его как компонент URL-адреса и обработать его как еще один аргумент представления.

Примерно так:

def process_request(self, request):
    request.META['PATH_INFO'] = "string to prefix/" + request.META['PATH_INFO']

Но похоже, что преобразователь URL-адресов получаетсначала там.

Есть ли способ достичь этого?

Мое промежуточное ПО установлено первым в списке.

РЕДАКТИРОВАТЬ: Чтобы уточнить, я хочу повторить-пишите этот запрос:

http://something.com/my/view/ => /something.com/my/view http://somethingelse.com/my/view/ => /somethingelse.com/my/view и т.д. в промежуточном программном обеспечении перед обработчиком URL.

В настоящее время я делаю это с помощью декораторов представления, которыеизменить kwargs, переданные в функцию view, но она не совсем подходит.


Почему?Мое приложение обрабатывает запросы от нескольких доменов, и я хотел бы получить способ вывода домена в промежуточном программном обеспечении и передать его в качестве аргумента представления.

1 Ответ

0 голосов
/ 11 октября 2011

Если вы используете wsgi, я думаю, что вы можете сделать перезапись в скрипте .wsgi (то есть до того, как запрос передан django)

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