модальный бутстрап, django login_required

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

Теперь есть декоратор login_required, который отображает шаблон входа. Декоратор login_required — это код на стороне сервера, и мне нужен способ, позволяющий серверу сообщить клиенту, что нужно инициировать нажатие кнопки.

$('#myModal').modal('show'); // this shows the form.

Как я могу инициировать этот вызов с моего сервера? Или мне нужно изменить каждый клиентский код, который может привести к ошибке login_required.

У кого-нибудь есть решение?


person eugene    schedule 22.10.2013    source источник
comment
Ну, это, конечно, возможно, но вам нужно будет сделать какой-то крючок, когда вы нажимаете любую ссылку или кнопку, вам нужно будет сделать вызов ajax, чтобы проверить наличие разрешения. Вас что-то устраивает?..   -  person mariodev    schedule 22.10.2013
comment
да, ничего хорошего, чтобы заставить его работать!, но как?   -  person eugene    schedule 22.10.2013
comment
Итак, это похоже на вызов ajax, чтобы проверить, требуется ли вход в систему, и вызов modal(), чтобы показать форму? тогда я думаю, что могу просто жестко связать {% if request.user.is_authenticated %} в каждом клиентском коде, для которого может потребоваться представление с login_required.   -  person eugene    schedule 22.10.2013
comment
и удалите login_required из кодов просмотра. Думаю, это сработает.. но не так красиво, как простой login_required.   -  person eugene    schedule 22.10.2013
comment
Вы можете создать собственный декоратор ajax, например этот.   -  person mariodev    schedule 22.10.2013
comment
у вас может быть домашний вид и вид входа, а затем в модальном режиме — вы настраиваете контент для загрузки через remote getbootstrap.com/javascript/#modals-options или jquery (согласно документам), то вы можете загрузить форму со страницы входа в модальный режим, но вы должны перезагрузить всю страницу во время публикации   -  person Jerzyk    schedule 14.06.2016