Grundlegender Aufbau Python auf Website

Django, Flask, Bottle, WSGI, CGI…
Antworten
Domi25
User
Beiträge: 11
Registriert: Freitag 31. Januar 2020, 12:57
Wohnort: Bamberg

Hallo liebe Community :)

ich habe eine hoffentlich recht einfach zu beantwortende Anfängerfrage zum Grundverständnis der Nutzung von Python-Programmen auf einer Website.

Ich würde gerne, als kleines Projekt zum Einstieg, auf einer Website eine Benutzereingabe ermöglichen (z.B. ein Textfeld).
Wenn der Besucher nun einen Text eingibt und einen "Bestätigen-Button" drückt, wird ein Python-Programm gestartet und in einem docx-Dokument die Überschrift geändert.
Danach erhält der Besucher das docx-Dokument mit der geänderten Überschrift als Download.
Das ursprüngliche Dokument soll allerdings unverändert in der Datenbank? bleiben, damit der nächste Besucher die Überschrift nach seinen Wünschen ändern kann.

Jetzt bin ich leider mit der Welle an Begriffen im Internet etwas überfordert und frage mich, wie denn der grundlegende Aufbau für ein solches Projekt aussieht und welche Komponenten ich hierfür benötige.

Ich habe eine Website, die z.B. über Strato gehostet ist. Diese Website enthält verschiedene HTML, CSS, PHP, Javascript Seiten.
Dann habe ich eine .py Datei, die das Python Programm enthält und noch eine docx-Datei, die als Vorlage dienen soll.

Wie kann ich nun diese Komponenten sinnvoll verknüpfen? Django habe ich in diesem Zusammenhang gefunden, aber bin noch sehr unerfahren in diesem Bereich.
Benötige ich für mein Projekt eine Cloud (AWS?) reicht die Datenbank der Website? Wo lade ich das Python-Programm und die docx-Datei hoch?

Aller Anfang ist schwer ... wenn ein Experte von euch so nett wäre und mir das grundlegende Verständnis über die richtige Verknüpfung der einzelnen Bestandteile geben könnte, wäre ich überglücklich. Die eigentliche Umsetzung bekomme ich dann bestimmt irgendwie über Google raus :) Soll ja ein Projekt sein, in dem ich viele neue Komponenten kennenlerne.

Vielen Dank und nachträglich einen guten Rutsch ins neue Jahr!

Dominik
Bolitho
User
Beiträge: 219
Registriert: Donnerstag 21. Juli 2011, 07:01
Wohnort: Stade / Hamburg
Kontaktdaten:

Hallo Domi25,

es gibt viele Möglichkeiten dein Projekt umzusetzen. Und ja, ich würde dafür Django nutzen. Aber Flask oder andere Pakete/Technologien könnten das ebenso.

Ich mache etwas ähnliches für meine Rechnungen. Die werden automatisiert generiert. Dafür habe ich meinen managed Server (Opalstack) auf dem Django läuft. Die Vorlage ist eine einfache docx-Datei, die auf dem Server liegt. Dango holt sich das Template, mach die Anpassungen und legt die fertige Rechnung in einem anderen Verzeichnis ab und stellt sie zum Download bereit.

z.B.:
Django Tutorial: https://docs.djangoproject.com/en/4.0/intro/tutorial01/
DOCX Mailmerge: https://pypi.org/project/docx-mailmerge/

Ich muss aber sagen, das ist kein Anfängerprojekt. Dazu gehört schon etwas Übung mit Django und auch anderen Paketen sowie Webtechnologien allgemeint. Insbesondere dann, wenn du Kunden/Besuchern die Funktionalität anbieten willst.

Beste Grüße
Domi25
User
Beiträge: 11
Registriert: Freitag 31. Januar 2020, 12:57
Wohnort: Bamberg

Hallo Bolitho,

Vielen vielen Dank für deine Antwort!
Dann werde ich mir Django mal ganz genau anschauen und danach abwägen, ob das Projekt für mich machbar ist.

Ich wünsche dir noch eine tolle restliche Woche!

VG Domi
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Mach Django und hoste es über uberspace.

Wurde mir damals auch vom Forum empfohlen und bin zufrieden.

Um Django zu lernen habe ich damals die Django Tutorials von Corey Schafer auf YouTube geschaut.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Domi25
User
Beiträge: 11
Registriert: Freitag 31. Januar 2020, 12:57
Wohnort: Bamberg

Hey naheliegend,

vielen Dank für deine Antwort und den Tipp mit Uberspace. Ich mache aktuell einen Udemy Kurs und hab mir schon ein paar YouTube Videos angeschaut. Django ist schon nicht ganz einfach, aber es macht echt Spaß und ich sehe auch schon Fortschritte. Ich habe in Sachen Hosting auch Apache in Verbindung mit AWS gesehen, aber so weit bin ich in meinen Tutorials noch nicht.

Viele Grüße
Dominik
Benutzeravatar
noisefloor
User
Beiträge: 3856
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ich habe in Sachen Hosting auch Apache in Verbindung mit AWS gesehen, aber so weit bin ich in meinen Tutorials noch nicht.
Ein "typisches" Setup ist eher Django -> WSGI Applikationsserver (Gunicorn oder uwsgi) -> nginx als Reverse Proxy.

Klar kann man auch Apache als Reverse Proxy nehmen, aber bei nginx ist IMHO das Setup einfacher.

Bei AWS ist es AFAIK schwierig, die Kostenkonrolle zu behalten, weil es so viele Optionen gibt und den Anwendung ggf. automatisch skaliert = mehr Kosten. Uberspace hat den Vorteil das du a) wirklich 100% Kostenkontrolle hast, b) die Server in Deutschland stehen und c) du deutschsprachigen Support hast (Uberspace ist eine deutsche Firma). Aber es gibt auch noch eine Reihe weiterer dedizierter Django-Hoster.

Gruß, noisefloor
Domi25
User
Beiträge: 11
Registriert: Freitag 31. Januar 2020, 12:57
Wohnort: Bamberg

Hey noisefloor,

du bist wirklich super! So viele hilfreiche Tipps.
Aktuell bin ich zwar noch mit den ganzen Grundlagen beschäftigt, aber deine Tipps habe ich mir alle notiert!
Vielen Dank!
gomez72
User
Beiträge: 71
Registriert: Sonntag 28. März 2021, 09:57

ich kann dir auch noch das beste Djano Tutorial im Netz ans Herz legen: Professor Dr. Charles Severance "Django for everybody"
https://www.youtube.com/watch?v=KH_-vhs ... dygrL9-u-Z

hat 94 Folgen aber ich liebes es. ein so gut aufgebautes Tutorial würde man sich mal im deutschsprachigen Raum wünschen.
vg gomez
Domi25
User
Beiträge: 11
Registriert: Freitag 31. Januar 2020, 12:57
Wohnort: Bamberg

Vielen Dank gomez!
Ich werde es mir anschauen :)
Antworten