Django Anfänger Problem

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
BerlinerMC
User
Beiträge: 25
Registriert: Montag 8. Dezember 2008, 19:32

Montag 9. März 2009, 16:44

Hallo erstmal :)

bis jetzt hat eig. keine Probleme mit Python, aber z.zt stehe ich tierisch aufn Schlauch! Leider weis ich auch nicht warum, aber ich komme einfach nicht weiter.

Django, MySQLDB usw. alles installiert hat auch alles wunderbar geklappt. Dann habe ich meine Models erstellt und "syncdb" asgeführt, welches auch schön funktioniert hat. Aber nun fangen die Probleme an :lol:

Mir ist schon klar, das ich über views.py , settings.py, urls.py meine Funktionen usw. schreiben kann. Was ja auch funktioniert und ich erhalte auch meine Webseite.

Aber nun möchte ich meine eigene Datei schreibe, z.b." test.py" und dort meine Models nutzen usw. Aber leider funktioniert das nicht, der Python Interpreter spuckt mir einen Fehler aus
ImportError: Settings cannot be imported, because environment variable DJANGO_SETTINGS_MODULE is undefined.
Was kann ich dagegen machen?! In .php, .c, .cpp mache ich einfach ein include! In Java, JavaME, Python einfach ein import! Nun hatte ich gehofft wenn ich "import... /pfadZuMeinenModels/ mache sollte das auch funktionieren, leider ohne Erfolg.

Ich hoffe mir kann jmd helfen oder zu mindestens eine FAQ auf der Django Homepage geben wo ich auch nichts gefunden habe -.- Evtl bin ich im moment aber auch wirklich blind!

Liebe Grüße
Alex
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Montag 9. März 2009, 20:55

Hi,

was du versuchst, ist, ein Modul, welches auf Django-Code oder -Module aufbaut, direkt auszuführen, was natürlich scheitert, weil zur Verwendung von Django natürlich ein Environment - also eine Umgebung, in diesem Fall eine HTTP-Umgebung - vorhanden sein muss. Du musst also wie gewohnt deinen Server starten und kannst dein neues Modul dann in views.py oder was auch immer verwenden.

Gruß
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Dienstag 10. März 2009, 09:28

BerlinerMC, wenn du Python-Code im Rahmen eines Django-Projekts ausprobieren möchtest, rufe "manage.py shell" in deinem Projekt auf. Das startet die übliche Python-Eingabeaufforderung für dein aktuelles Projekt und du musst nicht explizit diese Umgebungsvariable setzen. Dort kannst du dann "import test" machen und dein Modul importieren.

Willst du Programmcode regelmäßig von der Kommandozeile aus ausführen, dann ist es eine einfache Lösung, ein eigenes Kommando für manage.py zu schreiben.

Stefan
BerlinerMC
User
Beiträge: 25
Registriert: Montag 8. Dezember 2008, 19:32

Dienstag 10. März 2009, 17:23

sma hat geschrieben:BerlinerMC, wenn du Python-Code im Rahmen eines Django-Projekts ausprobieren möchtest, rufe "manage.py shell" in deinem Projekt auf. Das startet die übliche Python-Eingabeaufforderung für dein aktuelles Projekt und du musst nicht explizit diese Umgebungsvariable setzen. Dort kannst du dann "import test" machen und dein Modul importieren.

Willst du Programmcode regelmäßig von der Kommandozeile aus ausführen, dann ist es eine einfache Lösung, ein eigenes Kommando für manage.py zu schreiben.

Stefan
Ja das mit der Shell habe ich auch gemacht, hätte ich oben evtl noch reinschreiben sollen! Daher hatte ich gehofft das ich auch in einer "test" Datei
from projektName.App.Models import Bla
reinschreibe und meine Models nutzen kann.
Ich werde mir eure Hilfen im laufe des Abends angucken. Danke fürs erste.
Werde dann schreiben ob ich es hinbekommen habe oder nicht :P
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Mittwoch 11. März 2009, 18:28

Noch ein Tipp: Wenn du Tests schreiben willst (was löblich wäre), dann reicht es, eine Datei tests.py im app-Verzeichnis anzulegen und alle dort enthaltenen Unit-Tests werden bei "manage.py test" automatisch ausgeführt.

Stefan
Antworten