
Igor
13.09.2016
20:49:23
можно так, какая разница, раз один юзер :)
хотя возможно он захочет int

Johnnie
13.09.2016
20:49:58
@login_manager.user_loader
def load_user(userid):
return User.get(userid)
Входной параметр один - строка unicode содержащая ID пользователя. Функция должна возвращать None, если ID не существует. В противном случае, если все в порядке и пользователь с там ID существует, нужно вернуть соответствующий ему объект User.

Igor
13.09.2016
20:49:59
а, вроде нет
> It should take the unicode ID of a user, and return the corresponding user object.

Google

Johnnie
13.09.2016
20:50:05
на каком-то старом сайте нашел
2012год

Igor
13.09.2016
20:50:30
ну совпадает с latest-документацией, так что норм

Johnnie
13.09.2016
20:50:58
только непонятно что за объект User
это дефолтный какой-то в этой библиотеке?

Igor
13.09.2016
20:51:18
есть и дефолтный, UserMixin называется
> To make implementing a user class easier, you can inherit from UserMixin, which provides default implementations for all of these properties and methods. (It’s not required, though.)
http://gouthamanbalaraman.com/blog/minimal-flask-login-example.html

Johnnie
13.09.2016
20:52:46
спасибо!
@login_manager.user_loader
def load_user(user_id):
return User.get(user_id)
это по феншую должно где быть? в контроллере?

Igor
13.09.2016
20:57:10
где угодно, лишь бы доступен был login_manager и сам файл обрабатывался при запуске проекта
можно хоть в __init__.py, там где ты app = Flask(__name__) и login_manager = LoginManager(app) делаешь, что не очень правильно

Google

Igor
13.09.2016
20:58:11
можно вынести в отдельный файл
типа там helpers.py, или utils.py, или auth.py, users.py, да как угодно

Johnnie
13.09.2016
20:58:32
засунул в контроллер тогда

Igor
13.09.2016
20:59:43
потом все равно в файле с вьюхами будешь делать импорт этой load_user
@app.route('/login', methods=['GET', 'POST'])
def login():
if request.method == 'POST':
user_id = User.user_validate(username, password)
if user_id:
user = load_user(user_id)
login_user(user)
че-т типа того

Johnnie
13.09.2016
21:04:43
├── app
│ ├── mod_auth
│ │ ├── controllers.py
│ │ ├── forms.py
│ │ └── models.py
│ ├── mod_common
│ │ └── controllers.py
│ ├── static
│ ├── templates
│ │ ├── auth
│ │ │ └── signin.html
│ │ ├── common
│ │ │ └── index.html
│ │ ├── http_errors
│ │ │ └── 404.html
│ │ └── base.html
│ └── navbar.py
├── app.db
├── config.py
└── run.py
вот так у меня ща
в mod_common index
хз насколько это правильно

[Anonymous]
13.09.2016
23:57:05
Как шапка для скрипта должна выглядеть?
# python3
А дальше?

Zart
14.09.2016
02:43:46
#!/usr/bin/env python3
# coding: utf-8

melancholiac
14.09.2016
05:04:48
я мудак?
http://pastebin.com/3a8y2rd3

Johnnie
14.09.2016
05:05:07
+

[Anonymous]
14.09.2016
06:15:14

Скрудж
14.09.2016
06:20:25

Igor
14.09.2016
06:26:20
штооо
причем тут винда

Johnnie
14.09.2016
06:27:57
/usr/bin на винде))

Google

Igor
14.09.2016
06:29:37
ну вообще для десятки должно быть норм
первая строка запускает тот Python, который приоритетнее. к тому же, может быть так, что /usr/local/bin/Python есть, а /usr/bin/Python нету

Ivan
14.09.2016
06:35:01
привет всем)
кто может посоветовать годную литературу, где подробно разобраны такие вещи: Coroutines, gevent , synchronous functions, cooperative lightweight threads, green threads и все остальное по данной тематики
спасибо за ответ)

Igor
14.09.2016
06:35:04
(с телефона, поэтому пайтон заглавный)

Zart
14.09.2016
06:39:02

Скрудж
14.09.2016
06:40:51

Zart
14.09.2016
06:40:52

Igor
14.09.2016
06:42:02

Zart
14.09.2016
06:42:18

Igor
14.09.2016
06:42:53

Zart
14.09.2016
06:43:16
линукс подсистема доступна лишь в 1607 версии десятки - раз
её надо отдельной галочкой ставить - два
в неё надо еще войти через баш - три
и всё это не имеет ни малейшего отношения к виндовому питону - четыре

Igor
14.09.2016
06:45:01
ну да, а почему usr bin env должно иметь отношение к питону?
насчет четвертого я и не спорил )

Zart
14.09.2016
06:45:35
потому что виндовый питон с версии 3.2 обзавелся собственным лянчером, который понимает #!...

Bulatbulat48
14.09.2016
06:45:54

Zart
14.09.2016
06:45:58
а в 3.5 его еще и венвам научили, что ваще кайф

Bulatbulat48
14.09.2016
06:46:16
Ага)
Кто-то пользуется?

Google

Zart
14.09.2016
06:46:45
https://blogs.windows.com/buildingapps/2016/07/22/fun-with-the-windows-subsystem-for-linux/#gfUAveWRbEFpopIf.97

⬗VLAD⌶K⬖
14.09.2016
06:47:03
Но не на всех редакциях

Zart
14.09.2016
06:47:29
практическая ценность пока под вопросом

Bulatbulat48
14.09.2016
06:47:47
https://m.habrahabr.ru/post/306964/

Zart
14.09.2016
06:47:50
в том виде в котором оно сделано - оно примерно бесполезно почти полностью имхо

Igor
14.09.2016
06:48:12


Zart
14.09.2016
06:49:25
D:\>py -2
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
^C
D:\>py -2.7
Python 2.7.10 (default, May 23 2015, 09:44:00) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
D:\>py -2.7-32
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
^C
D:\>py -3
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:16:59) [MSC v.1900 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
^C
D:\>py -3.5
Python 3.5.0 (v3.5.0:374f501f4567, Sep 13 2015, 02:27:37) [MSC v.1900 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

⬗VLAD⌶K⬖
14.09.2016
06:49:29

Zart
14.09.2016
06:50:07

Admin
ERROR: S client not available

Zart
14.09.2016
06:50:29
потому что оно в своем виртуальном загончике живёт
т.е. какойнить мингв или цигвин позволяют тебе юзать одновременно и то и другое в одной строке:
wintool | gnugrep | more
а тут по сути минидокер
с одной копией контейнера для каждого юзера

Bulatbulat48
14.09.2016
06:51:49
Как virtualbox типо только из коробки?

Zart
14.09.2016
06:52:38
почти да

Bulatbulat48
14.09.2016
06:52:43
Ну понял спасибо

Zart
14.09.2016
06:52:48
поэтому смысла в этом примерно нихуя

Bulatbulat48
14.09.2016
06:53:21
Пусть допиливают
Было б круто

Google

Zart
14.09.2016
06:53:34
если скопировать реальный бинарник с реальной убунты

⬗VLAD⌶K⬖
14.09.2016
06:53:38
Мда, выглядит почти бесполезно

Zart
14.09.2016
06:53:46
то он будет запускаться, да
т.е. суешь например в d:\linux\somebinary
и по факту запускается /mnt/d/linux/somebinary с копией убунты

[Anonymous]
14.09.2016
06:57:28

⬗VLAD⌶K⬖
14.09.2016
07:00:00
за то такое количество программ открывается для обычного смертного, которые можно хранить на виндовой машине

Zart
14.09.2016
07:00:47
не уверен что эмулятор хлиба завезли, т.е. гуйцы не пашут
гм. прикольно, таки завезли
хотя по отзывам глюкало

⬗VLAD⌶K⬖
14.09.2016
07:11:40
и какое?
множество сетевых утилит , виндовые аналоги которых хуже оригинала, либо их вообще нет

Zart
14.09.2016
07:14:12
которым для работы нужен сетевой стек линукса, которого там нет и никогда не будет
какую еще хуйню ты хочешь нести?

⬗VLAD⌶K⬖
14.09.2016
07:20:28
тогда это жалкое подобие виртуалбокса...

Zart
14.09.2016
07:25:58
а вообще это довольно крутое техническое решение

⬗VLAD⌶K⬖
14.09.2016
07:26:39
ага , запилить казино без шлюх и выпивки

Zart
14.09.2016
07:26:40
в винде давно есть SUA, реализованное через подсистемы, где никсообразные бинарники живут вместе с виндовыми

V
14.09.2016
07:29:33

⬗VLAD⌶K⬖
14.09.2016
07:30:04
путь до питона же указать надо

V
14.09.2016
07:30:38
из доки например
Эта группа больше не существует