Python Kontaktformular

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
LisaF
User
Beiträge: 10
Registriert: Sonntag 20. Januar 2019, 17:04

Hey Leute,

bin noch relativ neu was das Thema Programmiersprachen angeht. Ich hab jetzt eine Website entwickelt über HTML und CSS und würde jetzt gerne ein einfaches Kontaktformular und Gästebuch erstellen. Allerdings will ich dies mit Python gestalten, da mir Python doch übersichtlicher erscheint als PHP. Und da viele meinen Python ist die Zukunft, möchte ich meine Zeit darin investieren diese Programmiersprache zu lernen, anstatt mich mit einer herumzuschlagen von der man nicht weiß ob die in naher Zukunft noch relevant ist. Meine Seite ist beim Webhoster Siteground registriert. Meine Frage ist nun, ist es möglich ein Kontaktformular und Gästebuch mit Python zu schreiben und es bei Siteground hochzuladen, sodass es auf meiner über HTML und CSS entworfenen Kontaktseite erscheint? Was brauch ich dazu alles? Normales Pythonprogramm + mod_wsgi installieren? Und dann?
Bin echt für jede Hilfe dankbar.

Liebe Grüße, Lisa
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Puh, auf deren Seite steht dass sie Python 2.4(!) unterstuetzen, und fuer ganz mutige Python 2.7 - das lebt noch ein Jahr: https://pythonclock.org/

Wenn es dir darum geht, Erfahrung zu sammeln, kannst du auch problemlos lokal mit zB einem der Micro-Rahmenwerke Flask oder Bottle arbeiten. Oder gleich auf das deutlich dickere Schiff Django heuern. Dafuer gibt's dann da ggf. gleich schon ein Gaestebuch-Modul irgendeiner Art.

Ob du die aber dann bei Siteground ans laufen bekommst - das steht auf einem anderen Blatt.

Wenn du aber mod_wsgi zum laufen bekommst (kA, das war so auf die Schnelle nicht herausfindbar) - dann kannst du auch bottle und flask damit beitreiben. Prinzipiell auch Django, aber das ist so viel mehr Kram, das macht dann ggf. einfach von der Installation her keinen Spass.
LisaF
User
Beiträge: 10
Registriert: Sonntag 20. Januar 2019, 17:04

Vielen Dank für die schnell Antwort. Angenommen ich erstelle den Code via Flask oder Django, wie bekomme ich den auf meine Kontaktseite die ja komplett auf HTML/CSS basiert? Einbetten scheint ja nicht zu funktionieren, oder geht das auf irgendeine Weise doch?

LG Lisa
nezzcarth
User
Beiträge: 1632
Registriert: Samstag 16. April 2011, 12:47

Na ja, prinzipiell hast du ja zwei Möglichkeiten: Entweder, du stellst die gesamte Seite auf Python um, oder du programmierst nur die beiden neuen Funktionalitäten in Python. Bei Variante zwei läuft es am Beispiel eines Kontaktformulars grob so, dass du im Prinzip weiterhin statische HTML Seiten baust und einen Formhandler in Python, der sich um die eigentliche Formularlogik kümmert. Im <form>-Element deines Forumlars übermittelst du dann per POST Request die Daten an den Handler im 'action'-attribut. Python ist an der Stelle ausschließlich für die Logik zuständig.

Variante Eins ist etwas mehr Aufwand und läuft, je nach zusätzlicher Funktionalitäten wohl eher auf ein (simples) CMS-artiges System hinaus. Ein Vorteil ist zum Beispiel, dass du deine Seiten mit einem Templatesystem etwas übersichtlicher strukturieren könntest, als das mit reinem statischen HTML möglich ist.
LisaF
User
Beiträge: 10
Registriert: Sonntag 20. Januar 2019, 17:04

Bedeutet das, Python kümmert sich nur um die Formularlogik, aber um das ganze interaktiv zu machen benötige ich trotzdem noch andere Skriptsprachen wie jQuery oder Ajax?
__deets__
User
Beiträge: 14494
Registriert: Mittwoch 14. Oktober 2015, 14:29

Weder noch und nein :) Ajax ist keine Sprache, sondern eine Technik zum abschicken von requests an den Server OHNE das sich die Seite neu lädt. Das kann man von Hand in JavaScript machen, oder man macht sich das Leben leichter mit eine Bibliothek wie jquery, die das und anderes nett verpackt.

Aber mit der gewünschten Funktion hat das erstmal nix zu tun. Sowas kann man auch komplett klassisch machen, mit Python als Sprache auf dem Server. Und dann eine Ergebnis-Seite zuruckliefern.
Antworten