poniedziałek, 15 sierpnia 2011

django flatpages, No FlatPage matches the given query.

Baaardzo irytujący problem który pojawia się podczas początków z django. Mianowicie, kiedy już dodamy flatpages do aplikacji:


INSTALLED_APPS = (
# inne appy django
'django.contrib.flatpages'
)


i dodamy Url'a który będzie tym zarządzał :


(r'',include('django.contrib.flatpages.urls'))

Miej na uwadzę że podczas przeszukawania url.py django szuka pierwszego dopasowania, więc taki kwiatek jak ten na górze jest tylko w celach testowych i powinien być dodany na końcu tupli.

Kiedy, wszystko już powinno działać, dostawałem wciąż ten sam błąd :
No FlatPage matches the given query.

Problem rozwiązywałem pare godzin rozbebeszając django aż doszedłem to konkretnego rozwiązania. Mianowicie : w

settings.py jest pole :

SITE_ID = 2

Niczym okomentowane ale raczej samosiętłumaczące (sorki za nowomowę). Problem polega na tym, że podczas edytowania ustawień id w bazie danych może się zmienić (create after delete).


blog=# SELECT * from django_site;
id | domain | name
----+----------------+-----------
2 | 127.0.0.1:8000 | localhost


Trzeba uważać, żeby nie utracić tej spójności, wtedy wszystko będzie działać :)

0 komentarze:

Prześlij komentarz