I have seen projects like Atom, which use web technologies to make desktop apps; however, I would like to know if this is possible with django.
If possible, is it practical? In the sense that it will not be much more complicated than making a web app with this framework; Leaving aside that it will most likely be slower than a native application.
The idea is not to depend on the Internet to be able to use the application and take advantage of web technologies such as HTML, CSS, JS and Django to develop it.
If possible. As stated in this StackOverflow question and the links to it, you have quite a few alternatives:
PyInstaller
PyInstaller packages Python programs into desktop applications for Windows, Linux, Mac OS X, FreeBSD, Solaris, and AIX. According to its own website, its main advantages over other similar applications is that:
The GitHub page explains how starting from version 2.1 you can create desktop applications developed with Django, and shows a small example with code (in English).
djangokit
It's a possibility suggested in the question linked above itself, because Hamza was looking for utilities that would work not only for Mac but also for Windows and Linux.
The project is hosted on GitHub , where you can find a couple of examples and documentation (in English)... although it seems that its development has been stopped for almost 8 years.
cx_Freeze .
The first link (in English) of that question is quite descriptive, in the Siddhartha it explains how he managed to create a desktop application (or rather simulate it) following this method:
Using this configuration, cx_Freeze bundles the server, Django, sqlite3, application code, and the Python interpreter and packages them into one executable. The application is preconfigured to use sqlite3 as the database and the server is preconfigured to run Django.
py2exe
In the second link in the question, Joseph Jude explains that he had problems with Shiddarta's solution and with dbuilder.py and explains how he used py2exe to convert his Python applications to desktop applications:
In that same link you can find the step-by-step code (with examples of errors it found and the solution it gave them) and a link to Google Docs to download a version of the project.
py2app
According to the official documentation: py2app is a Python setuptools command that allows you to create stand-alone applications, packages, and plugins from Python scripts. py2app is similar in design and purpose to py2exe, but in this case for Mac OS X instead of Windows.
You can find an example of integrating Django with py2app on Kevin London's GitHub .
dbuilder.py
In the question linked above, Massimo Fazzolari recommends dbuilder.py in his answer, since dbuilder.py was created specifically to convert code developed in Django into desktop applications.
According to the tool's documentation on GitHub, dbuilder.py is a utility that takes a Django project and organizes the files needed to build a desktop application, allowing for different options when building the distribution.
Extensive documentation on how to use the tool (in English only) and small examples are included on the GitHub page.
super zippy
Massimo Fazzolari also recommends this utility which takes Python packages and their pure Python dependencies and converts them all into a single executable file.
According to the project's website, the only supported operating systems are Linux and Mac OS X but it should work on any operating system (although nothing is guaranteed). And there is no reference to Django in particular either, which can be a bad sign.
The GitHub site contains code and examples with demonstrations of how the tool works.