Django ist ein Webframework was auf Python basiert. Was liegt also näher, als das jetzt mal auszuprobieren, wo ich ein wenig Python kenne. Ich kann mich noch gut erinnern, wie ich das mal vor ca. zwei Jahren ausprobieren wollte, bin ich kläglich gescheitert. Grund waren damals mangelnde Python Kenntnisse. Aktuell sollte die Kenntnisse reichen um das zu mindestens mal zu testen.
Es gibt zwei gute Tutorials
Das war jetzt nicht so schwer, bis auf die Tatsache das die immer alle lokal ausprobieren. Das mache ich immer erst, wenn ich weiß wie das alles funktioniert. Vorher teste ich auf meinem ROCKPro64 und wenn ich den versaut habe, wird der neu installiert - fertig!
Ok, der Webserver mit der Anwendung wird normalerweise auf dem Localhost ausgeliefert.
(myvenv) frank@debian:~/djangogirls$ python manage.py runserver
Performing system checks...
System check identified no issues (0 silenced).
August 29, 2021 - 08:52:38
Django version 3.2.6, using settings 'mysite.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.
Nicht so praktisch, wenn ich das von einem Haupt-PC aus erreichen möchte. Es gibt dazu eine Konfigurationsdatei
nano mysite/settings.py
Darin steht als Standard, das hier.
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = []
Wenn DEBUG auf True gesetzt ist und ALLOWED_HOSTS leer, dann wird der "Host" gegen ['localhost', '127.0.0.1', '[::1]'] validiert.
Wenn ich den Webserver aufrufe, kommt das hier
Diese Ausgabe auf dem Webserver steht dort wegen
DEBUG = True
das ist natürlich auf einem produktivem Server eine schlechte Idee. Darum auch die Warnung eine Zeile drüber!
Aber zum Glück, da steht auch die Lösung meines Problemes
SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
ALLOWED_HOSTS = ['192.68.3.172']
Man fügt die IP-Adresse hinzu und startet dann den Webserver mit
(myvenv) frank@debian:~/djangogirls$ python manage.py runserver 0:8000
Watching for file changes with StatReloader
Performing system checks...
System check identified no issues (0 silenced).
August 29, 2021 - 11:37:16
Django version 3.2.6, using settings 'mysite.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.
0:8000 ist eine Abkürzung für 0.0.0.0:8000 Damit ist der Webserver jetzt über die IP-Adresse erreichbar.