Несколько вопросов по логину с помощью flask-security

570 views
Skip to first unread message

Anton Yanchenko

unread,
Jan 25, 2013, 4:13:29 PM1/25/13
to flask-...@googlegroups.com
Всем привет.

Flask я изучаю 2 дня, пока всё выглядит коряво, но я уверен, это я
просто не умею его готовить (ведь миллионы мужчин не могут ошибаться!
:) ).

Суть такова:
1. Экстеншн flask-security предоставляет возможность входа на сайт,
для этого у него есть некоторые вьюхи и шаблоны. Как правильно этим
пользоваться? Это нормально, что его стандартные шаблоны выглядят
весьма убого и даже не имеют тэгов <html>? Это наводит на мысли...
может это добро надо как-то инклюдить внутрь своего шаблона? Или
единственно-правильный путь - оверрайдить эти шаблоны?

2. Как правильно локализовать форму логина? Т.е. выводить сообщения об
ошибках, названия полей формы на родной мове.

3. Есть ли какой-нибудь способ изменить станартный функционал?
Например, я хочу всегда использовать "remember me", обязательно для
этого всегда посылать этот чек-бокс post'ом или можно как-то хитро
подправить класс формы?


--
Thanks,
Anton Yanchenko

никита куринный

unread,
Jan 27, 2013, 6:46:41 PM1/27/13
to flask-...@googlegroups.com
Не пробывали заменить flask-security на flask-login?
Для переводов есть http://packages.python.org/Flask-Babel/

klinkin

unread,
Jan 27, 2013, 6:51:42 PM1/27/13
to flask-...@googlegroups.com
Привет, Антон.

1.
Пример использования Flask-Security от автора https://github.com/mattupstate/flask-social-example
Вот демо сайт http://flask-social-example.herokuapp.com/  

-- 
C уважением, 
Климин Михаил.

суббота, 26 января 2013 г. в 1:13, Anton Yanchenko написал:

--

Anton Yanchenko

unread,
Jan 29, 2013, 8:34:27 AM1/29/13
to flask-...@googlegroups.com
28 января 2013 г., 3:51 пользователь klinkin <kli...@gmail.com> написал:
> Пример использования Flask-Security от автора
> https://github.com/mattupstate/flask-social-example
> Вот демо сайт http://flask-social-example.herokuapp.com/
Спасибо, интересно будет глянуть на сырцы. Жаль правда в задеплоенном
приложении частенько "Internal Server Error" проскакивает, но будем
надеяться что это всего лишь следствие того, что это демка, а не общая
тенденция автора. :)

>Не пробывали заменить flask-security на flask-login?
Нет. А чем оно лучше?

>Для переводов есть http://packages.python.org/Flask-Babel/
Спасибо, но в данном случае, на сколько мне известно, строки должны
быть помечены как переводимые (через gettext или в шаблоне тэгом), а
этого, если я не ошибаюсь, нет.


--
Thanks,
Anton Yanchenko

klinkin

unread,
Jan 29, 2013, 8:43:35 AM1/29/13
to flask-...@googlegroups.com
Если посмотреть внимательнее исходники flask-security ( или хотя бы requirements.txt), то можно заметить, 
что под капотом у security: flask-login и flask-principal.

Так что совет "Не пробывали заменить flask-security на flask-login?" мне кажется не в тему! 

-- 
C уважением, 
Климин Михаил.

вторник, 29 января 2013 г. в 17:34, Anton Yanchenko написал:

--
Вы получили это сообщение, поскольку подписаны на группу flask-russian.

Чтобы отказаться от подписки на эту группу и перестать получать из нее сообщения, отправьте электронное письмо на адрес flask-russia...@googlegroups.com.
Подробнее о функциях можно узнать на странице https://groups.google.com/groups/opt_out.

никита куринный

unread,
Jan 29, 2013, 8:46:43 AM1/29/13
to flask-...@googlegroups.com

Я уже понял это. Сам новичек. Просто как сделать свои представления автрризации на flask-login видно сразу, а в security нет. Поэтому и решил посоветовать посмотреть в сторону login, хоть фактически это одно и тоже

29.01.2013 15:43 пользователь "klinkin" <kli...@gmail.com> написал:

klinkin

unread,
Jan 29, 2013, 10:19:41 AM1/29/13
to flask-...@googlegroups.com
По поводу локализации flask-security: осенью Мет(автор) начинал работу над локализацией, собственно это есть в ветке messages https://github.com/mattupstate/flask-security/tree/messages 
Ключевым моментом тут как раз является то, что лейблы форм обернуты в необходимый gettext:
Нужно попробовать сделать локализацию из этой ветки.

Также сейчас есть 2 обходных варианта:

1.
в шаблоне пишем:
                <form id="login_form"  action="{{ url_for('security.login') }}" method="post" accept-charset="UTF-8">
                        <input id="email" type="text" placeholder="E-mail" name="email"/>
                        <input id="password" type="password" placeholder="Пароль" name="password" />
                        <button class="act">Вход</button>
                </form> 

2.
Сделать ajax авторизацию/регистрацию:

в этом случае нужно слать POST запрос  http://localhost/security/login
обязательно устанавливать content type ='"application/json"
с телом запроса {"email":"exa...@gmail.com","password":"123567"}

Тогда будет отрабатывать условие if request.json:

В своем текущем проекте я использую и первый и второй способ.


@Никита: я без наездов :)

-- 
C уважением, 
Климин Михаил.

вторник, 29 января 2013 г. в 17:46, никита куринный написал:

Reply all
Reply to author
Forward
0 new messages