Ich stelle mich wohl wieder etwas dumm an. Ich gehe stark davon aus, dass die Lösung ganz einfach wäre, leider komm ich nicht drauf...
Ich habe ein Django-Projekt. Dazu habe ich nun eine Klasse geschrieben, die aus der views.py Datei heraus Instantiiert werden soll. In der Klasse werden Datenbank-Abfragen gemacht.
Projektstruktur:
mein_projekt:
---- sb.sqlite3
---- home:
---------- view.py
---------- .............
---------- programms:
-------------------- send.py
-------------------- .......
Nun habe ich meine klasse 'send' in die view.py importiert:
Code: Alles auswählen
from home.programs.send import Send
Der Pfad zu Datenbank ist in der Klasse, als relativer Pfad angegeben:
Code: Alles auswählen
connection = sqlite3.connect('../../db.sqlite3')
Wenn ich aber zum testen, den Pfad in der Klasse anpasse auf:
Code: Alles auswählen
connection = sqlite3.connect('../db.sqlite3')
Folgende Fragen:
1. Hat jemand eine Ahnung, warum es aus der Testdatei funktioniert, aber nicht aus view.py
2. Wie kann ich solche Fehler umgehen. Dabei denke ich an eine Attribut der Klasse z.B. self.db_path wo ich den relativen Pfad bei der Instantiierung
mitgeben kann. Dabei würde ich aber gerne vom Pfad der aktuellen Datei (hier im Beispiel view.py) ausgehen
z.B. aktuellerPfad + programms/send.py
Danke schon mal für eure Hilfe.
(und ein erneutes sorry für meine Unwissenheit)