Search code examples
djangobreadcrumbsdjango-flatpages

django-breadcrumbs flatpages


I following this tutorials: https://github.com/chronossc/django-breadcrumbs/blob/master/README.markdown#3---enable-flatpages--breadcrumbs

Like this, my settings.py:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'breadcrumbs.middleware.BreadcrumbsMiddleware',
    'breadcrumbs.middleware.FlatpageFallbackMiddleware',
)

INSTALLED_APPS = (
    ...
    'django.contrib.flatpages',
    ...
    'breadcrumbs',
)

and my urls.py:

from django.conf.urls import patterns, include, url
from django.conf import settings
from django.conf.urls.static import static

from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    ...
    url(r'^services/(?P<url>.*)$', 'breadcrumbs.views.flatpage'),
    ...

)

urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)

if settings.DEBUG:
    urlpatterns += patterns('django.contrib.staticfiles.views',
        url(r'^static/(?P<path>.*)$', 'serve'),
    )

So,

If I delete my middlewareclass, the flatpages doesn't work. But if i delete my services urls, the flatpages work again. He doesn't use this. I need to know the reason for make a correctly system work.

Thanks again!


Solution

  • It seems that 'breadcrumbs.views.flatpage' not found for some reason. Let's import it explicitly.

    from django.conf.urls import patterns, include, url
    from django.conf import settings
    from django.conf.urls.static import static
    
    from breadcrumbs.views import flatpage
    
    from django.contrib import admin
    admin.autodiscover()
    
    urlpatterns = patterns('',
        ...
        url(r'^services/(?P<url>.*)$', flatpage),
        ...
    
    )