Size: a a a

2020 May 06

AM

Artur Mustafin in Python Flask
Олег Артамонов
Сделал свою форму авторизации через WTF Flask, разместил её в контекст процессоре, чтобы отовсюду её было видно. В качестве return duct передал form=form. Но при попытке авторизации через форму появляется следующее - TypeError: 'Response' object is not iterable.. Не могу пока понять, в чём проблема? Я понимаю, что какой-то объект невозможно посчитать (ну как я понимаю, пробежаться циклом). В общем непонятка какая-то. Кто сможет подсказать?
проблема в том что Response object это не dict
источник

AM

Artur Mustafin in Python Flask
это что за бред return duct передал form=form.
источник

GB

Gleb B in Python Flask
form.{поле}.data  - обьект из формы тут
источник

AM

Artur Mustafin in Python Flask
если ожидается Response объект зачем передали какую-то уточку? Вы Навальный?
источник

AM

Artur Mustafin in Python Flask
можно возвращать НЕ Response, но все равно, будет подтановка в Response обект, следовательно, взять и вернуть словарь не выйдет нужно почитить про параметры класса Response
источник

AM

Artur Mustafin in Python Flask
и вернуть типа return “form=form”, 200, { ‘form-cookie-header’: SHA1(str) }
источник

AM

Artur Mustafin in Python Flask
к примеру
источник
2020 May 07

M

Medoed in Python Flask
Олег Артамонов
Сделал свою форму авторизации через WTF Flask, разместил её в контекст процессоре, чтобы отовсюду её было видно. В качестве return duct передал form=form. Но при попытке авторизации через форму появляется следующее - TypeError: 'Response' object is not iterable.. Не могу пока понять, в чём проблема? Я понимаю, что какой-то объект невозможно посчитать (ну как я понимаю, пробежаться циклом). В общем непонятка какая-то. Кто сможет подсказать?
И в дополнение к этому ты, конечно, покажешь код
источник

V

Vlad in Python Flask
Кто реализовал разный доступ к api? Группы или пермы использовали? Просто хочется услышать мнение )
источник

T

Tishka17 in Python Flask
1. Мидлваря вычитывает пермишены юзера
2. Прям в методе пишу  if user.id != object.owner_id: require_permission(user, SUPER_PERMISSION)
источник

AT

Alex Ted in Python Flask
Vlad
Кто реализовал разный доступ к api? Группы или пермы использовали? Просто хочется услышать мнение )
какого рода доступы требуется разруливать?
можно ведь и через API Gateway рулить доступом к ручкам микросервисов
источник

V

Vlad in Python Flask
Ну очень гибкий. Какие методы доступны для работы с определенной моделью, также какие поля можно изменять.
источник

V

Vlad in Python Flask
Но пока просто смотрю, как лучше опять же
источник

PB

Philipp Bondarev in Python Flask
Vlad
Ну очень гибкий. Какие методы доступны для работы с определенной моделью, также какие поля можно изменять.
Если я правильно понимаю, что тебе нужно - бери ABAC можешь создать политику, какую душе твоей угодно. Хоть - к этому эндпоинту можно получить доступ только раз в 33 года в момент восхода красной луны, только из города Каира, с айпишника оканчивающегося на 7 и только юзеру в чьём резюме есть слово жираф!
источник

PB

Philipp Bondarev in Python Flask
Правда, единственная удобоваримая реализация ABAC для Python что я находил года полтора-два назад был всего один пакет на гитхабе, Vakt кажись назывался.
источник

PB

Philipp Bondarev in Python Flask
Если попроще надо, то можно ограничиться RBAC. Ну, тут уж, насколько помню, претендентов хватает.
источник

PB

Philipp Bondarev in Python Flask
Всем доброго. Кто как думает, что лучше, сделать эндпоинты
/docs/<doc_id>/history
и
/docs/<doc_id>/history/<revision_id>
, или пользовать /docs/<doc_id>?history=true?revision_id=xxx?
В первом случае плодятся ресурсы, во втором усложняется логика одного ресурса. Не могу решить, что приоритетней.
источник

V

Vlad in Python Flask
спасибо, Vakt видел, очень жирная штука конечно, буду сейчас думать и разбираться
источник

T

Tishka17 in Python Flask
Philipp Bondarev
Всем доброго. Кто как думает, что лучше, сделать эндпоинты
/docs/<doc_id>/history
и
/docs/<doc_id>/history/<revision_id>
, или пользовать /docs/<doc_id>?history=true?revision_id=xxx?
В первом случае плодятся ресурсы, во втором усложняется логика одного ресурса. Не могу решить, что приоритетней.
А ревизия в истории - это отдельная сущность или просто документ другой версии?
источник

PB

Philipp Bondarev in Python Flask
Tishka17
А ревизия в истории - это отдельная сущность или просто документ другой версии?
А вот тут интересная штука, если я запрашиваю историю, то мне приходит отдельная сущность - список JSON PATCH которые необходимо применить к документу что бы получить ту или иную версию, а если указываю revision_id, то выбираются нужные патчи, накатываются и возвращается документ в том виде, в каком он был на указанный период времени.
источник