Я видел такие проекты, как Atom, которые используют веб-технологии для создания настольных приложений; однако я хотел бы знать, возможно ли это с django.
Если возможно, то практично? В том смысле, что это будет не намного сложнее, чем сделать веб-приложение с этим фреймворком; Не говоря уже о том, что это, скорее всего, будет медленнее, чем нативное приложение.
Идея состоит в том, чтобы не зависеть от Интернета, чтобы иметь возможность использовать приложение и использовать преимущества веб-технологий, таких как HTML, CSS, JS и Django, для его разработки.
Если возможно. Как указано в этом вопросе StackOverflow и ссылках на него, у вас есть немало альтернатив:
PyInstaller
PyInstaller упаковывает программы Python в настольные приложения для Windows, Linux, Mac OS X, FreeBSD, Solaris и AIX. Согласно его собственному веб-сайту, его основные преимущества перед другими подобными приложениями заключаются в том, что:
Страница GitHub объясняет, как, начиная с версии 2.1, вы можете создавать настольные приложения, разработанные с помощью Django, и показывает небольшой пример с кодом (на английском языке).
джангокит
Это возможность, предложенная в вопросе, указанном выше, потому что Хамза искал утилиты, которые работали бы не только для Mac, но также для Windows и Linux.
Проект размещен на GitHub , где можно найти пару примеров и документацию (на английском)… хотя кажется, что его разработка остановлена уже почти 8 лет.
cx_Freeze .
Первая ссылка (на английском языке) этого вопроса довольно описательная, в Сиддхарте объясняется, как ему удалось создать настольное приложение (или, скорее, смоделировать его), следуя этому методу:
Используя эту конфигурацию, cx_Freeze объединяет сервер, Django, sqlite3, код приложения и интерпретатор Python и упаковывает их в один исполняемый файл. Приложение предварительно настроено для использования sqlite3 в качестве базы данных, а сервер предварительно настроен для запуска Django.
py2exe
Во второй ссылке в вопросе Джозеф Джуд объясняет, что у него были проблемы с решением Шиддарта и с dbuilder.py, и объясняет, как он использовал py2exe для преобразования своих приложений Python в настольные приложения:
По той же ссылке вы можете найти пошаговый код (с примерами найденных ошибок и их решения) и ссылку на Google Docs для загрузки версии проекта.
py2app
Согласно официальной документации: py2app — это команда Python setuptools, которая позволяет создавать автономные приложения, пакеты и плагины из скриптов Python. py2app похож по дизайну и предназначению на py2exe, но в данном случае для Mac OS X, а не для Windows.
Вы можете найти пример интеграции Django с py2app на GitHub Кевина Лондона .
dbuilder.py
В вопросе, указанном выше, Массимо Фаццолари рекомендует dbuilder.py в своем ответе, поскольку dbuilder.py был создан специально для преобразования кода, разработанного в Django, в настольные приложения.
Согласно документации инструмента на GitHub, dbuilder.py — это утилита, которая берет проект Django и упорядочивает файлы, необходимые для создания настольного приложения, позволяя использовать различные параметры при сборке дистрибутива.
Подробная документация по использованию инструмента (только на английском языке) и небольшие примеры включены на страницу GitHub.
супер быстрый
Массимо Фаццолари также рекомендует эту утилиту, которая берет пакеты Python и их чистые зависимости от Python и преобразует их все в один исполняемый файл.
Согласно веб-сайту проекта, единственными поддерживаемыми операционными системами являются Linux и Mac OS X, но он должен работать на любой операционной системе (хотя ничего не гарантируется). И нет никакой ссылки конкретно на Джанго, что может быть плохим знаком.
Сайт GitHub содержит код и примеры с демонстрацией работы инструмента.