Действительно ли возможно украсить, включают (…) в django URL с login_required?

У меня есть несколько ограниченных областей на сайте, для которого я хотел бы указать login_required декоратор. Однако я хотел бы сделать это однажды на включение в основной urls.py, не на отдельный URL во включенном urls.py

Таким образом вместо:

/private/urls.py:

(r'^profile/$', login_required(profile)),

Я сделал бы что-то вдоль строк:

/urls.py

urlpatterns = patterns('',
                      ...
                      (r'^private/', login_required(include('private'))),
                      )

За исключением того, что это не работает, к сожалению.

40
задан Art 28 March 2012 в 05:09
поделиться

1 ответ

login_required предназначен для упаковки вызываемых представлений , не include () и глядя на исходный код:

http://code.djangoproject.com/browser/django/tags/releases/1.1.1/django/conf/urls/defaults.py#L9

- Я не думаю, что есть простой способ использовать default (или даже custom) login_required с include () для достижения того, чего вы хотите достичь.

Написав это, я думаю, что разумным подходом было бы использование некоторого промежуточного программного обеспечения, необходимого для входа в систему, например этого: http://www.djangosnippets.org/snippets/1179/ и забыть о украшение URL-адресов в urls.py.

2
ответ дан 27 November 2019 в 01:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: