Hallo,
ich habe eine Tkinter GUI erstellt und möchte diese mit Inhalten aus meiner Webdatenbank füllen. Da die DB beim Hoster all-inkl liegt kann ich nur mit CGI darauf zugreifen. Wie geht das und ist das überhaupt möglich?
Ich hoffe ihr könnt mir helfen
Mfg
Tkinter mit online Datenbank verbinden
@DiiiDiii: Also erst einmal hat das doch gar nichts mit `Tkinter` zu tun‽
Und dann müsstest Du halt eine Webanwendung schreiben die den Zugriff auf die Daten regelt. Da wäre dann die erste Frage ob dafür bei dem Hoster Python überhaupt in Frage kommt. Falls ja, wie man eine Webanwendung dort in den Webserver einbinden kann, denn CGI ist etwas antiquiert, das möchte man in der Regel nicht.
Und dann müsstest Du halt eine Webanwendung schreiben die den Zugriff auf die Daten regelt. Da wäre dann die erste Frage ob dafür bei dem Hoster Python überhaupt in Frage kommt. Falls ja, wie man eine Webanwendung dort in den Webserver einbinden kann, denn CGI ist etwas antiquiert, das möchte man in der Regel nicht.
@DiiiDiii: Von Dir lokal? Nein. Innerhalb des Webhosters vielleicht, aber unwahrscheinlich, und das würde man auch nicht wollen indirekt über eine weitere Abstraktionsschicht zu gehen wenn es direkter geht.
- diesch
- User
- Beiträge: 80
- Registriert: Dienstag 14. April 2009, 13:36
- Wohnort: Brandenburg a.d. Havel
- Kontaktdaten:
Die Datenbank beim Hoster wird aus Sicherheitsgründen keine Zugriffe von außen entgegen nehmen, daher musst du dir wohl eine Schnittstelle selbst bauen.
Solange es nur darum geht, die Daten für eine Abfrage zu übergeben und das Ergebnis als JSON o.ä. zu bekommen, reicht CGI meiner Meinung nach meistens aus.
Solange es nur darum geht, die Daten für eine Abfrage zu übergeben und das Ergebnis als JSON o.ä. zu bekommen, reicht CGI meiner Meinung nach meistens aus.
http://www.florian-diesch.de
Ok, danke, also mein Vorhaben ist, dass folgendes: mit tkinter habe ich mir eine Kundenverwaltung gebastelt und die Kunden sollen auf meiner Online Datenbank sein. Laut meinem Hoster habe ich mit Python nur die Möglichkeit mit CGI. Wenn es damit geht frage ich mich 1. wie das geht und ob es evtl. ein Tutorial (bestenfalls wäre natürlich eine Vorlage schön) gibt.
Oder gibt es noch andere Möglichkeiten mit meiner Oberfläche auf die Daten zuzugreifen?
Oder gibt es noch andere Möglichkeiten mit meiner Oberfläche auf die Daten zuzugreifen?
diesch hat es doch schon geschrieben. Du bastelst dir auf dem Server ein paar CGI-Scripts für deine Abfragen und diese liefern das Ergebnis einfach JSON zurück. Mit Python kannst du dann die Seite/das Script aufrufen und die Daten auswerten und anzeigen.
Das Leben ist wie ein Tennisball.
- diesch
- User
- Beiträge: 80
- Registriert: Dienstag 14. April 2009, 13:36
- Wohnort: Brandenburg a.d. Havel
- Kontaktdaten:
Brauchbare Doku müsste ich auch erst suchen.
Eine minimale Version ohne Fehlerbehandlung, Kodierungsgefummel und so, die JSON an den Server schickt und von dort liest:
test.cgi:
Client-Code:
Da es um sensible Daten geht, würde ich die JSON-Daten verschlüsselt verschicken. Damit hast du dann auch gleich die Authentifizierung erledigt.
Eine minimale Version ohne Fehlerbehandlung, Kodierungsgefummel und so, die JSON an den Server schickt und von dort liest:
test.cgi:
Code: Alles auswählen
import sys, json
#!/usr/bin/env python
print 'Content-type: text-html\n\n'
jdata = sys.stdin.read()
data = json.loads(jdata)
data[u'result'] = 666
print json.dumps(data)
Code: Alles auswählen
#!/usr/bin/env python
import urllib, json
data = {u'test': 'somevalue',
u'something': 42
}
jdata = json.dumps(data)
print 'Sending:', jdata
req = urllib.urlopen('http://localhost/server.cgi', jdata)
jdata=req.read()
data = json.loads(jdata)
print 'Received:', data
http://www.florian-diesch.de