django-problem

24/03/2013 - 15:14 von Helmut Blass | Report spam
Hallo NG,
bin kompletter python newbie und bin gerade dabei, mich in die Sprache
und django einzuarbeiten. Zwei Fragen:
1. nach der Django-Installation kommt im Erfolgsfall eine
Willkommenseite
It worked!
Congratulations on your first Django-powered page.

Von wo kommt eigentlich diese Seite? Habe sie im file system nirgends
finden koennen. Komischerweise wird das nirgendwo erklaert

2. Nach dem Erstellen einer Demo-App kam beim Server-Start die
Fehlermeldung
ImportError: No module named blog

Danach hab ich die settings.py ergaenzt mit
import sys
sys.path.append('/home/my/django/path')
und die INSTALLED_APPS mit 'blog' (statt mysite.blog, wie im Lehrbuch)

jetzt funzt es, aber ist das tatsaechlich so korrekt, dass man fuer
jede app so ein append machen muss?

thanx for your help, Helmut
 

Lesen sie die antworten

#1 Markus Zapke-Gründemann
24/03/2013 - 22:19 | Warnen spam
Hallo Helmut.

Helmut Blass schrieb:
bin kompletter python newbie und bin gerade dabei, mich in die Sprache
und django einzuarbeiten. Zwei Fragen:


Für Fragen rund um Django gibt es eine eigene deutsche Mailingliste[1].

1. nach der Django-Installation kommt im Erfolgsfall eine
Willkommenseite
It worked!
Congratulations on your first Django-powered page.

Von wo kommt eigentlich diese Seite? Habe sie im file system nirgends
finden koennen. Komischerweise wird das nirgendwo erklaert


Das Template ist in Django enthalten, genauer gesagt in
django/views/debug.py[2]. Wenn Django erkennt, dass noch keine URLconf erstellt
wurde, wird dieses Template angezeigt.

2. Nach dem Erstellen einer Demo-App kam beim Server-Start die
Fehlermeldung
ImportError: No module named blog

Danach hab ich die settings.py ergaenzt mit
import sys
sys.path.append('/home/my/django/path')
und die INSTALLED_APPS mit 'blog' (statt mysite.blog, wie im Lehrbuch)

jetzt funzt es, aber ist das tatsaechlich so korrekt, dass man fuer
jede app so ein append machen muss?


Korrekt ist, dass du jede App in die INSTALLED_APPS eintragen musst.
sys.path.append ist ein Hack, den man eigentlich vermeiden sollte. Er ist nicht
nötig, damit Django deine App finden kann wenn diese in INSTALLED_APPS
eingetragen ist.


Viele Grüße

Markus


[1] https://groups.google.com/forum/?fromgroups#!forum/django-users
[2] https://github.com/django/django/bl...g.py#L1062

Ähnliche fragen