вступление
Запуск Django, особенно Django Querysets в ноутбуках Jupyter может быть полезным, если вы хотите проанализировать/построить данные, которые находятся в вашей базе данных. Кроме того, иногда трудно выполнить большие запросы в CLI, используя интерактивную оболочку Джанго. В этой статье мы увидим, как подключить оболочку Джанго с ноутбуком Юпитера и получить преимущество в выполнении запросов в ячейках ноутбука.
Джанго
Django это веб -структура для перфекционистов со сроками. У него оболочка
Команда, которая запускает Python Interactive Interpreter.
Жюрит -блокнот
Записная книжка Юпитера это веб-приложение с открытым исходным кодом, которое позволяет вам создавать и обмениваться документами, которые содержат живой код, уравнения, визуализации и повествовательный текст. Использование включает в себя: очистку и преобразование данных, числовое моделирование, статистическое моделирование, визуализацию данных, машинное обучение и многое другое.
Джанго расширения
Django Extensions является коллекцией пользовательских расширений для фреймворка Django. К ним относятся команды управления, дополнительные поля базы данных, расширения администратора и многое другое. С помощью этого пакета Python мы подключим Django’s Shell с помощью ноутбука Jupyter.
Настраивать
Я предполагаю, что на вашем компьютере установлен Python, и вы знакомы с созданием виртуальных сред.
Создайте пустую папку для проекта Django:
$ mkdir django_jupyter && cd django_jupyter
Создайте виртуальную среду внутри недавно созданной папки:
$ virtualenv .venv -p python3 Already using interpreter /usr/bin/python3 Using base prefix '/usr' New python executable in /django_jupyter/.venv/bin/python3 Also creating executable in /django_jupyter/.venv/bin/python Installing setuptools, pip, wheel... done.
Активируйте виртуальную среду:
$ source .venv/bin/activate
Установите все необходимые пакеты Python:
(.venv) $ pip install django jupyter ipython django-extensions
Инициализируйте пустой проект Django:
(.venv) $ django-admin startproject django_jupyter .
Мигрировать базу данных:
(.venv) $ python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, sessions Running migrations: Applying contenttypes.0001_initial... OK ... Applying auth.0011_update_proxy_permissions... OK Applying sessions.0001_initial... OK
Чтобы использовать django_extensions, перечислите его в Insted_apps
в настройки.py
файл:
INSTALLED_APPS = [ ... 'django_extensions', ]
Применение
Теперь мы начнем приложение для ноутбука Jupyter с командой ниже:
(.venv) $ python manage.py shell_plus --notebook
ВАЖНЫЙ! Ipython добавил поддержку Async/Await, которая запускает весь сеанс переводчика внутри цикла событий по умолчанию и начиная с версии Django 3.0, запускающую приложение из потока, где есть управляемый цикл события, вызовет SynchronousOnlyoperation
ошибка. Итак, настройка Django_allow_async_unsafe
к истинному в этом случае обязательно. Подробнее об этом здесь .
(.venv) $ DJANGO_ALLOW_ASYNC_UNSAFE=true && python manage.py shell_plus --notebook
Теперь, когда веб-приложение Notebook Jupyter находится на вашем экране, вы можете создать новую книжку, выбрав Django Shell-Plus в качестве ядра:
В совершенно новой ноутбуке импортируйте модель, которую вы хотите, и начинайте писать и запускать запросы, как вы делаете в Django’s Shell.
Вывод
Эта установка дает нам много преимуществ. Одним из них является отсутствие необходимости прокручивать историю оболочки для повторного использования/изменений фрагментов кода, которые мы написали, потому что наш код существует в удобных ноутбуке Jupyter.
Больше ☜
Оригинал: “https://dev.to/davitovmasyan/how-to-use-the-django-shell-in-jupyter-notebook-ofn”