Leute,
ich hab absolut keine Ahnung von Webprogrammierung, muss aber irgendwie ein bisschen an einem Webinterface von unserem Institut arbeiten.
Wie es mir scheint wird ein grosser Teil der Funktionalität des Interfaces in CGI Skripten erledigt. Diese sind reiner Python Code, enden aber auf .cgi. Mit 'python script.cgi' können die sowohl in der Shell ausgeführt werden, und im Browswer laufen die auch. Allerdings kann ich die Codecompletion der Shell nicht benutzen ('TAB' vervollständigt den Skriptnamen nicht). Was muss ich wo ändern?
Die Skripts laufen auf einem Linux server.
Eine andere Frage. Ich möchte das ganze am liebsten so programmieren, dass ich immer alles zuerst in der Shell teste. Gibt es dazu gute Guidelines die helfen, hier richtig vorzugehen? Was sind den so die wichtigsten Grundsätze die es zu beachten gibt?
Vielen Dank für eure Antworten.
Python code in .cgi file
[url=http://www.proandkon.com]proandkon.com[/url]
@mzh: Die `"code" completion` der Shell hat nichts mit Python zu tun. Das ist eine Konfigurationsfrage der Shell.
In der Shell testen ist so eine Sache. Sollte bei CGI möglich sein, solange man vor dem Aufruf dafür sorgt, dass es für das Skript so aussieht, als wenn es in einer CGI-Umgebung läuft, aber letztendlich möchte man das mit einem Webserver testen. Denn Formulareingaben immer "per Hand" in die entsprechenden Umgebungsvariablen stecken, macht keinen Spass. Webwanwendungen entwickelt man normalerweise auf einem Entwicklersystem und bastelt nicht am laufenden Produktivsystem.
Da ist also die Frage auf was die Skripte so zugreifen. Datenbank? Andere Programme auf dem System? So eine Umgebung müsstest Du Dir auf dem Entwicklungssystem auch schaffen. Kann auch auf dem gleichen Rechner sein, aber eben ein anderer Webserver. Ein CGI-fähiger Webserver ist in Python ja in ein paar Zeilen geschrieben -- das reicht vielleicht schon aus zum Entwickeln.
In der Shell testen ist so eine Sache. Sollte bei CGI möglich sein, solange man vor dem Aufruf dafür sorgt, dass es für das Skript so aussieht, als wenn es in einer CGI-Umgebung läuft, aber letztendlich möchte man das mit einem Webserver testen. Denn Formulareingaben immer "per Hand" in die entsprechenden Umgebungsvariablen stecken, macht keinen Spass. Webwanwendungen entwickelt man normalerweise auf einem Entwicklersystem und bastelt nicht am laufenden Produktivsystem.
Da ist also die Frage auf was die Skripte so zugreifen. Datenbank? Andere Programme auf dem System? So eine Umgebung müsstest Du Dir auf dem Entwicklungssystem auch schaffen. Kann auch auf dem gleichen Rechner sein, aber eben ein anderer Webserver. Ein CGI-fähiger Webserver ist in Python ja in ein paar Zeilen geschrieben -- das reicht vielleicht schon aus zum Entwickeln.
@BlackJack: Gut, ganz praktisch gefragt: wie kriege ich hin, dass ich bei
Code completion zur Verfügung habe? Der Workflow sieht so aus, dass das der Browser über den Server (Apache) das CGI Skript startet, welches dann (reiner Python code) ein File von einer bestimmten Webseite runterlädt, serverseitig auf die disk schreibt und dieses mit einem anderen Programm serverseitig kurz bearbeitet. Das bearbeitete File stellt die Grundlage für eine spätere Berechnung dar.
@jens: ja, steht auf der Liste. Muss mich da aber einlesen.
Code: Alles auswählen
prompt $ python skript.cgi
@jens: ja, steht auf der Liste. Muss mich da aber einlesen.
[url=http://www.proandkon.com]proandkon.com[/url]
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Falls du die Bash nutzt, wirst du wohl bash_completion installiert haben, denn ansonsten wuerdest du einfach alle Dateinamen angeboten bekommen. Unter Debian habe ich z.B. eine Datei /etc/bash_completion.d/python, welche die Regeln fuer Python festlegt.mzh hat geschrieben:@BlackJack: Gut, ganz praktisch gefragt: wie kriege ich hin, dass ich beiCode completion zur Verfügung habe?Code: Alles auswählen
prompt $ python skript.cgi
Offizielles Python-Tutorial (Deutsche Version)
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
@mzh: Du kannst dir auch mit 5 Zeilen Code eine Webserver in Python schreiben, der CGI-Skripe ausführt. Zum Testen sehr gut geeignet. Code solltest du an diversen Stellen im Web und in den meisten Python-Büchern finden.
Gruß, noisefloor
@mzh: Du kannst dir auch mit 5 Zeilen Code eine Webserver in Python schreiben, der CGI-Skripe ausführt. Zum Testen sehr gut geeignet. Code solltest du an diversen Stellen im Web und in den meisten Python-Büchern finden.
Gruß, noisefloor