Встраивание jupyter notebook/ google colab в приложение djnago

Я хотел создать веб-сайт и встроить функциональность jupyter notebook, позволяющую создавать ячейки и выполнять код python в них, в мой веб-сайт

Для создания сайта я использую Django и я хотел бы встроить либо google collab, либо jupyter notebook

Кстати, я достаточно исследовал и застрял на ссылках StackOverflow, где нет ответа об этом или на той, где они хотят использовать django в jupyter notebook

Заранее спасибо за любое руководство или любую ссылку, которую вы, ребята, можете предоставить.

У вас есть много вариантов, как это сделать:

Примечание:: я использовал "jupyter-lab", вы можете использовать "jupyter notebook"

1- Первый вариант перенаправления на "jupyter notebook"

django view.py

from django.shortcuts import redirect,HttpResponse
import subprocess
import time

def open_jupiter_notbook(request):
    b= subprocess.check_output("jupyter-lab list".split()).decode('utf-8')
    if "9999" not in b:
        a=subprocess.Popen("jupyter-lab  --no-browser --port 9999".split())
    start_time = time.time()
    unreachable_time = 10
    while True and "9999" not in b:
        timer = time.time()
        elapsed_time = timer-start_time
        b= subprocess.check_output("jupyter-lab list".split()).decode('utf-8')
        if "9999" in b:
            break
        if elapsed_time > unreachable_time:
            return HttpResponse("Unreachable")
    path = b.split('\n')[1].split('::',1)[0]
    #You can here add data to your path if you want to open file or anything
    return redirect(path)

Если вы хотите реализовать его в шаблоне вместо редиректа, вы можете использовать следующий код в шаблоне Django:

<iframe src="{% url 'open_jupiter_notbook' %}" width= 600px height=200px></iframe>

2- Второй вариант:

просто используйте команды блокнота jupyter с помощью этого subprocess.check_output("your command".split())

Вернуться на верх