Есть ли что-то среднее между промежуточным ПО и представлением в Django, чтобы я мог подключить свой код? - PullRequest
1 голос
/ 14 января 2011

Есть ли что-то между middleware и представлением, чтобы я мог подключить свой код или мне нужно что-то из Django для обеспечения этой функциональности подклассом?

Позвольте мне сначала объяснить, зачем мне это нужно,может быть, есть лучшее решение, которое вы можете предложить.Я хочу ограничить некоторые из моих URL в зависимости от конфигурации.И, - я хочу, чтобы эта конфигурация была частью конфигурации URL - В соответствии с предоставленной конфигурацией, я хочу перенаправить и т. Д. В другое представление.

То, что я подразумеваю под «частью конфигурации URL», является чем-то вродеследующее.

url(r'^admin/blah/blah$', do_something, name='admin-blah-blah', {'security_level': 'very_secure', 'auth_method' : 'oauth', 'auth_url', 'http://www.foo.com'})

Кажется, что это должно быть сделано промежуточным программным обеспечением, но я не хочу делать это с промежуточным программным обеспечением по двум причинам.- Я не хочу поддерживать отдельный конфиг.- Я не хочу выполнять сопоставление регулярных выражений для шаблонов url еще раз, url resolver уже делает это

Так что, если я смогу просто найти способ подключить некоторые функции непосредственно перед просмотром и получить доступ к предоставленной конфигурации, это решает мою проблему.

1 Ответ

4 голосов
/ 14 января 2011

Похоже, вы могли бы сделать это с декоратором на ваших представлениях:

@restrict_url(security_level='very_secure', auth_method='oauth', 
              auth_url= 'http://www.foo.com')
def my_view(request):
    ... etc ...

Вы можете получить некоторые идеи о том, как написать restrict_url декоратор, взглянув на те, которые приведены в django.contrib.auth.decorators.

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