2009-11-07 1 views
0

Предположим, у меня есть сайт, на котором все URL-адреса заданы пользователем.Как добавить префикс ко всем URL-адресам и в общем случае проанализировать это как kwarg

Например,/username1/points/list - это список точек пользователя.

Как я могу захватить/username1/часть URL-адреса из всех URL-адресов и добавить его как kwarg для всех просмотров?

В качестве альтернативы, было бы здорово захватить/username1/часть и добавить это к запросу в качестве request.view_user.

ответ

1

Возможно, вы столкнулись с этим атакой middlware. В частности, используя process_request. Это называется до вызывается urlresolver, и вы можете сделать почти что угодно для запроса (request.path в этом случае), который вы хотите. Вы можете удалить имя пользователя и сохранить его в объекте запроса. Специфика зависит (очевидно) от условий, при которых вы/не хотите удалять первый компонент пути.

Обновлено для комментариев: Какой бы путь вы идете об этом, когда вы звоните reverse() вы должны дать ему дополнительную информацию контекста - это не просто автомагически понять это для себя. Django не играет ни в какие игры для мужчин-за шторками - все прямо на Python, и глобальное государство не плавает совсем недалеко от сцены. Я думаю, что это хорошая вещь ™.

+0

Этот метод отлично работает. Однако - я изо всех сил пытаюсь вернуть компонент обратного пути обратно в URL-адрес для изменения адресов. Любые предложения по данному обратному объекту не имеют доступа к объекту запроса для доступа к этому пользователю? – tee

 Смежные вопросы

  • Нет связанных вопросов^_^