Как стать автором
Обновить
15
0
Вовчик @microcoder

Пользователь

Отправить сообщение

Это человеческое эго умирает потихоньку (контроль над чем-то) вот и появляются такие статьи, попытка вернуть "былое". Свойственное "старикам". То есть умирание Эго неизбежно, мудрые мира сего об этом знают, и 2017 лет назад дал наставление — "не ищи земных сокровищь, где моль и ржа все съедает, а ищи сокровищь на небесах" — не дословная цитата, которая говорит, что всё чтобы не изучил человек — потеряет, в том числе и свои заслуги 15 летней давности превратятся в труху. Всегда придут молодые, амбициозные которым описанные сложности в статье не кажутся таковыми, но их сиенит другое поколение и так в бесконечном цикле, старшее поколение будет жаловаться на молодое, дескать "а вот у нас такого небыло". ))) вообщем, потерять и не угнаться за знанием и опытом — это условия жизни и их не изменить.

Ошибки. Просьба поправить в тексте:


я собираюсь хранить в файле app/templates/Login.html

Заменить символ L в верхнем регистре на нижний регистр, иначе кто-то скопирует и будет мучиться, почему не работает. Возможно для Windows это будет работать, но в nix* подобных системах — нет.

Спасибо! Стало понятней.
Меня учили ровно наоборот

Вполне может быть так лучше, как Вас учили.


но ведь явное лучше неявного же?

В том-то и дело, что в этих строчках нужно напрягаться и вспоминать, так как здесь не явно, что действительно Python умеет и может импортировать:


app = Flask(__name__)
from app import routes

На слух это так: из экземпляра app импортровать routes. Если бы пакет (текущий каталог) был бы назван, например как myapp, то у меня бы вопроса не возникло:


app = Flask(__name__)
from myapp import routes

А одна точка (.) — это явное указание, также как и в файловой системе, что импортировать нужно из текущего каталога где этот модуль расположен.

Что-то вот не перезапускается сервер, если изменять файл шаблона по пути ./app/templates/index.html. Ни export FLASK_DEBUG=1, ни если передать параметр flask run --reload, ни если в ./app/__init__.py прописать app.debug = True не помогают, а изменения в ./app/routes.py, например, отслеживает...

Хочу выразить большую благодарность за труд!
Также, хочу отметить, что в файле app/__init__.py, в инструкции импорта, лучше вписать точку, вместо явного определения имени текущего каталога (пакета Python), это не будет вызывать взрыв мозга, что откуда берется и будет ясность. Также, если пакет переименуется, то ничего из этого не сломается. т.е, это:

from flask import Flask

app = Flask(__name__)

from app import routes


лучше заменить на это:

from flask import Flask

app = Flask(__name__)

from . import routes
Поправьте пожалуйста ссылку на следующую статью — «следующая >>>» сейчас она указывает на эту статью.
Если URL-адрес входа включает следующий аргумент

Необходимо поправить в нескольких местах, иначе сейчас другой совсем смысл. Предлагаю изменить на:
Если URL-адрес входа включает аргумент next
«функции просмотра» — Мне кажется это неудачный перевод, режет слух и ломает мозг.
Устоявшийся термин для «view», во многих документациях, является как «представление», а не «просмотр», тогда понятна относительность, что функция представляет (отображает, проецирует, показывает), а не просматривает что-то там самостоятельно или с помощью кого-то или чего-то… )))
P.S. Обновил статью, добавил информацию по автодополнению.
Нашлось простое решение :) Как оказалось, в расширении Python к VS Code есть опция, которой можно указать список внешних модулей/библиотек Python которые импортируются в auto complete engine. Достаточно указать путь в WORKSPACE SETTING (файл .vscode/settings.json) к библиотекам в контейнере, например так (это один из из путей который ищет python, вы можете расширить этот список):
// List of paths to libraries and the like that need to be imported by auto complete engine. E.g. when using Google App SDK, the paths are not in system path, hence need to be added into this list.
    "python.autoComplete.extraPaths": ["/var/lib/lxd/storage-pools/lxdpool/containers/pytest/rootfs/usr/local/lib/python3.6/dist-packages/"],

По адресу /var/lib/lxd/storage-pools/lxdpool/containers/pytest/rootfs/ находится корневая система контейнера, относительно ее вы можете найти установленные библиотеки и указать полный путь в параметре «python.autoComplete.extraPaths».
Вот пример, автодополнение работает для numpy, который установлен только в контейнере:

Если сразу не заработало, попробуйте перезагрузить VS Code, а также удалить любые символы после from… import и вызвать сразу CTRL + SPACE. Иногда не сразу срабатывает, где-то кешируется.
Сейчас стало понятно. Это важный вопрос, спасибо. Ответов у меня пока нет :(
Просмотр переменных/объектов наведением указателя мыши в коде в режиме дебага работает. Или чтобы по нажатию исходник модуля открывался в редакторе? Модули в проекте и локально установленные откроются через CTRL + Клик мыши на названии модуля, а вот удаленные, установленные только в контейнере, посмотреть не удается.
Не совсем понял вопрос. Какую подсказку? Наведением курсора мыши на переменную/объект, чтобы смотреть ее содержание?
12 ...
12

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность