Django Projekt - Rasensprengersteuerung

Django, Flask, Bottle, WSGI, CGI…
Antworten
LukyLazzer
User
Beiträge: 2
Registriert: Samstag 5. September 2020, 16:39

Guten Abend!
Ich habe keinerlei Erfahrung mit Django oder Python und muss für die Uni ein Dashboard programmieren, welches einen Rasensprenger steuert.
Ich habe mir bereits dieses Video (https://www.youtube.com/watch?v=FinjKyFEAO4)angesehen und ein bisschen mit Views usw. herumgespielt um mir einen Überblick zu verschaffen.

Jetzt habe ich aber noch ein paar unklarheiten im Kopf:
Ich habe verstanden, dass ich aus einem HTML-Template und einer klassenbasierten View (z.B. vom Typ Create) ganz einfach Datensätze für meine hinterlegten Datenbankmodelle erstellen kann. (Hoffe ich hab das alles richtig verstanden.)
Und ich könnte auch unterschiedliche Templates für beispielsweise unterschiedliche Seiten (z.B. Übersichtsseite/Statistikseite/Einstellungsseite) erstellen.

Nun zu meiner Frage:
Wie mache ich das denn am Besten, wenn beispielsweise auf der Übersichtsseite einen Knopf programmieren will, der einen Rasensprenger einschaltet (also einfach Python Code ausführt z.B. ohne die Seite neu zu laden).
Sollte ich eine solche Funktion auch über Views darzustellen oder gibt es hier andere Stichworte die mir bei einer solchen Anforderung helfen können?

Ich hoffe ich konnte mein Anliegen und meinen Kenntnisstand gut darstellen. Wenn mir jemand ein paar nützliche Stichworte geben kann google ich mir meine Informationen gerne selbst zusammen aber ich bin mir wie gesagt nicht sicher wie eine solche Anforderung professionell umzusetzen ist.

LG Luke
Benutzeravatar
sparrow
User
Beiträge: 4548
Registriert: Freitag 17. April 2009, 10:28

Um Python zu lernen bietet sich das Tutorial in der Dokumentation an.

Um Django zu lernen ist das offizielle Django-Tutorial ein guter Ansatzpunkt. Und bei Django Girls kannst du auch vorbei schauen. Auch wenn du kein Mädchen sein solltest.

Du wirst nicht darum herum kommen die Basics in diesen Dokumentationen verstehen zu müssen.
Benutzeravatar
noisefloor
User
Beiträge: 4209
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Wie mache ich das denn am Besten, wenn beispielsweise auf der Übersichtsseite einen Knopf programmieren will, der einen Rasensprenger einschaltet (also einfach Python Code ausführt z.B. ohne die Seite neu zu laden).
Dann brauchst du auf der Clientseite noch JavaScript. Von Prinzip her: JavaScript lauscht auf das Event des Knopfdrucks. Wenn das Event eintritt, schickst du per JavaScript im Hintergrund einen Request an den Server. Den Request nimmt in deinem Fall Django entgegen, führt die an den Request (=den View) gebundene Funktion aus und liefert einen Rückgabewert z.B. im JSON-Format wie `{sprinkler_on: true}` zurück. Die Antwort kannst du dann clientseitig verarbeiten und z.B. die Beschriftung des Knopfs oder des zugehörigen Textfelds oder ... ändern.

Von Prinzip ist das recht simpel, da wäre, wenn man nur das braucht, Django auch zu komplex. Das geht auch mit "kleineren" Webframeworks.

Gruß, noisefloor
LukyLazzer
User
Beiträge: 2
Registriert: Samstag 5. September 2020, 16:39

Um Python zu lernen bietet sich das Tutorial in der Dokumentation an.

Um Django zu lernen ist das offizielle Django-Tutorial ein guter Ansatzpunkt. Und bei Django Girls kannst du auch vorbei schauen. Auch wenn du kein Mädchen sein solltest.

Du wirst nicht darum herum kommen die Basics in diesen Dokumentationen verstehen zu müssen.
Dann werde ich mich damit mal noch beschäftigen. Was mittlerweile sogar ziemlich Spaß macht :)
Hatte nur ein bisschen Panik vor der Aufgabe, weil ich sehr unerfahren in diesem Bereich bin^^
Dann brauchst du auf der Clientseite noch JavaScript. Von Prinzip her: JavaScript lauscht auf das Event des Knopfdrucks. Wenn das Event eintritt, schickst du per JavaScript im Hintergrund einen Request an den Server. Den Request nimmt in deinem Fall Django entgegen, führt die an den Request (=den View) gebundene Funktion aus und liefert einen Rückgabewert z.B. im JSON-Format wie `{sprinkler_on: true}` zurück. Die Antwort kannst du dann clientseitig verarbeiten und z.B. die Beschriftung des Knopfs oder des zugehörigen Textfelds oder ... ändern.
Danke schonmal für die Info, dass die Requests, die die Seite beispielsweise nicht refreshen sollen, mit Javascript und Views dargestellt werden können :)
Von Prinzip ist das recht simpel, da wäre, wenn man nur das braucht, Django auch zu komplex. Das geht auch mit "kleineren" Webframeworks.
Es sollen noch viele andere Funktionen in die Webanwendung und ich glaube mittlerweile, dass Django für die Aufgabe sehr gut geeignet ist. Außerdem ist es eine Vorgabe^^ :)
Antworten