2009-09-04 1 views
3

Я flatpages приложение лишь настроить Джанго следующие http://docs.djangoproject.com/en/dev/ref/contrib/flatpages/что может вызвать ошибку страницы не найдена в flatpages?

Все это хорошо, но когда я ссылку на flatpage, я всегда получаю:

Page not found (404) 
Request Method:  GET 
Request URL: http://example.com/about/ 

[..] 

The current URL, about/, didn't match any of these. 

что это значит? что может вызвать эту ошибку?

заранее спасибо ...

ответ

6
  1. У вас есть FlatpageFallbackMiddleware в списке MIDDLEWARE_CLASSES?

  2. Есть ли определенная плоская страница в вашей базе данных с/около/в поле URL?

  3. Содержит ли ссылка на правильный объект сайта? Он должен быть связан с объектом Site с числовым идентификатором, соответствующим SITE_ID в ваших settings.py. Фактическое имя/домен объекта сайта не имеет значения в этом случае, это всего лишь числовой идентификатор, на который вы должны следить. По моему опыту, это самая распространенная причина таинственно отсутствующих плоских страниц.

Запрос URL «http://example.com/about/» в вашем вставили 404 сбивает с толку - я предполагаю, что вы положили его там, чтобы скрыть свой фактический домен? Потому что если фактический URL-адрес запроса был на example.com, вы не получили бы эту страницу отладки Django.

+2

Хе-хе, ты прав. Моя проблема была и третьей, и после того, как я понял это, я решил это. Спасибо, ты также упоминаешь об этом! – israkir

+0

hallo, имеют ту же ошибку, но все это правильно - site_id - 1 в settings.py и в базе данных; У меня есть FlatpageFallbackMiddleware, и у меня есть flatpages/about.html в каталоге шаблонов. Но попытка достичь 127.0.0.1:8000/about/ вызывает ошибку «Текущий URL, о /, не соответствует ни одному из них». что еще нужно проверить :(Я потратил уже 2-3 часа, чтобы найти ответ – serge

+0

@serge - есть ли объект Flatpage в базе данных, связанной с сайтом 1, с «flatpages/about.html» в поле template_name и «/ about/"в поле url? –

Смежные вопросы