Seite 1 von 1
Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 11:49
von DiiiDiii
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
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 12:10
von BlackJack
@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.
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 12:49
von DiiiDiii
Stimmt eigentlich, hat nichts mit tkinter zu tun... bitte verschieben wenn möglich
Kann man nicht irgendwie via ODBC darauf zugreifen?
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 13:01
von BlackJack
@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.
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 13:10
von diesch
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.
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 19:45
von DiiiDiii
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?
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 20:00
von EyDu
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.
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 21:08
von DiiiDiii
Ok danke, habt ihr zufällig noch ein gutes Tutorial zur hand?
Re: Tkinter mit online Datenbank verbinden
Verfasst: Samstag 19. Oktober 2013, 22:13
von diesch
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:
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)
Client-Code:
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
Da es um sensible Daten geht, würde ich die JSON-Daten verschlüsselt verschicken. Damit hast du dann auch gleich die Authentifizierung erledigt.
Re: Tkinter mit online Datenbank verbinden
Verfasst: Mittwoch 23. Oktober 2013, 09:14
von DiiiDiii
Werde mal schauen ob ich das kapiere

Evtl. ist auch noch eine brauchbare Doku zu finden
