Только авторизованный доступ

45 views
Skip to first unread message

Dmitry Agafonov

unread,
Dec 11, 2012, 1:47:52 PM12/11/12
to django-...@googlegroups.com
Приветствую!

Можно ли по умолчанию каким-то стандартным способом завернуть неавторизованных на логин? Имею в виду, не писать на каждый view @login_required.

Найдены решения в виде middleware, да и все говорят что так и надо:

Как-то кажется это костылями. Встроенного ничего нет?

PS. Админку посмотрел, там свои уютненькие декораторы :)

--
Dmitry Agafonov ~ http://agafonov.pp.ru/

Владимир Корсун

unread,
Dec 11, 2012, 1:55:11 PM12/11/12
to django-...@googlegroups.com
middleware?


11 декабря 2012 г., 22:47 пользователь Dmitry Agafonov <agafono...@gmail.com> написал:

--
 
 

Dmitry Agafonov

unread,
Dec 11, 2012, 1:57:36 PM12/11/12
to django-...@googlegroups.com
11 декабря 2012 г., 22:55 пользователь Владимир Корсун <korsun....@gmail.com> написал:
middleware?

читать целиком? ;)

TrashNRoll

unread,
Dec 11, 2012, 6:53:59 PM12/11/12
to django-...@googlegroups.com
Вкратце: нельзя, встроенного нет. Правильный способ - таки login_required.
Если же действительно 146% из ваших views нуждаются в оном, middleware становится не менее правильным выходом из ситуации, гарантируя, что об этой проверке никто нигде не забудет при написании новых view. Костыльность - кажущаяся, ибо что это, как не логическая прослойка в обработке запросов?

Если хочется странного, можно написать свой handler, но, кроме познаний о внутренностях джанго, практической пользы это не принесет.


11 декабря 2012 г., 22:57 пользователь Dmitry Agafonov <agafono...@gmail.com> написал:
--
 
 

Dmitry Agafonov

unread,
Dec 11, 2012, 11:38:48 PM12/11/12
to django-...@googlegroups.com
12 декабря 2012 г., 3:53 пользователь TrashNRoll <trash...@gmail.com> написал:
Вкратце: нельзя, встроенного нет. Правильный способ - таки login_required.
Если же действительно 146% из ваших views нуждаются в оном, middleware становится не менее правильным выходом из ситуации, гарантируя, что об этой проверке никто нигде не забудет при написании новых view. Костыльность - кажущаяся, ибо что это, как не логическая прослойка в обработке запросов?

Да, согласен, я еще почитал и сделал в middleware по прообразу, приведенному в ответе на стаковерфлоу (см. мое первое сообщение).

Yuri Baburov

unread,
Dec 12, 2012, 8:06:22 AM12/12/12
to django-...@googlegroups.com
Ну, можно ещё повесить login_required на группу паттернов, только вот сходу не подскажу как это гуглить -- но решения такие были.
В простейшем варианте это цикл.


2012/12/12 Dmitry Agafonov <agafono...@gmail.com>

--
 
 



--
Best regards, Yuri V. Baburov, Skype: yuri.baburov, MSN: bu...@live.com

livskiy

unread,
Dec 12, 2012, 8:10:02 AM12/12/12
to django-...@googlegroups.com
Да, вообще удобно было бы писать что-то вроде login_required(include('foo.app.urls')) в urls.py.

12 декабря 2012 г., 19:06 пользователь Yuri Baburov <bur...@gmail.com> написал:

--
 
 

Pavel Reznikov

unread,
Dec 12, 2012, 8:13:32 AM12/12/12
to django-...@googlegroups.com
такие враперы реализуются минут за 10


//wbr Pavel Reznikov <pashka....@gmail.com>



2012/12/12 livskiy <liv...@gmail.com>
--
 
 

TrashNRoll

unread,
Dec 12, 2012, 8:22:24 AM12/12/12
to django-...@googlegroups.com
Вполне рабочий вариант.


12 декабря 2012 г., 17:06 пользователь Yuri Baburov <bur...@gmail.com> написал:

--
 
 

Reply all
Reply to author
Forward
0 new messages